一起LeetCode--字符串中获取最长无重复字符子串

 时间:2024-10-13 05:44:57

1、“暴力获取”算法通过两层嵌套循环,遍历原始字符串所有子串,找到最长无重复字符的子串并返回其长度。注意:内层循环中,当出现重复字符时,直接跳出即可。

一起LeetCode--字符串中获取最长无重复字符子串

2、“滑动窗口”算法“暴力获取”算法实现起来很简单,也很容易理解,但时间复杂度比较高,为 O(n²), n为字符串长度。“滑动窗口”算法就是为提升性能而来,其通过前后两个索引下标,在字符串上滑动。当没有重复字符,后面的下标向后滑动,当出现重复字符,则前面的下标向后滑动,时间复杂读为 O(n)。

一起LeetCode--字符串中获取最长无重复字符子串

3、两算法性能测试--准备数据构建1000个长度为1000的随机字符串,字符串包含的字符为常见的 ASCII 字符。

一起LeetCode--字符串中获取最长无重复字符子串

4、两算法性能测试--编写测试主方法获取数据后,分别调用两种算法进行计算,并记录所需时间。

一起LeetCode--字符串中获取最长无重复字符子串

5、两算法性能测试--运行测试并比较分别运行算法10次,记录每次执行时间,并计算平均时间。

一起LeetCode--字符串中获取最长无重复字符子串
  • 功能结构图怎么画?
  • 如何进入Proteus8中画PCB图的界面
  • 毕业论文跟毕业设计一样吗?有什么区别
  • 怎么改变keil编程时的文字大小
  • keil5使用教程
  • 热门搜索
    上海旅游必去景点 邮轮旅游网 日本旅游报价 壶口瀑布旅游攻略 泉州旅游景点 江南旅游 石泉旅游 西藏旅游线路 巴厘岛旅游要多少钱 大阪旅游景点