数组标记判断重复

最近在LeetCode上做算法题遇到这样一道题如下图:

算法题目

我的思路是:用三层for循环来暴力求解,第一层for循环是遍历最长子串的起点,第二层for循环是表示子串将要增加的那个字符,第三个for是用来检测是不是有重复字符,所以时间复杂为n的3次方。

流程分析

而通过滑动窗口算法加载数组标记的方法就能减少通过for循环去判断字符是否重复的过程

滑动窗口加数组标记的方法

这道题给我最大的启示就是在判段重复字符时可以用数组标记的方式,优化运行速度

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,268评论 0 13
  • OC的Block有一个坑,就是它的调用时机。 看下面两个方法,思考一下它们到底有什么区别。 第一个方法是将bloc...
    Noah1985阅读 2,556评论 1 5
  • 在所有的东方文化里面,或者说在现在中国式的教育中,很多时候我们喜欢用“如果”和“要是”来表达我们对于从前已经错过的...
    如轻歌阅读 286评论 0 1
  • 应卿澂阅读 481评论 12 11
  • 假仁假义,时间长了,也可以弄假成真。这假借仁义,也跟借钱一样,如果这钱借的时间长了,也不归还,钱就成了自己的了。不...
    华杉2009阅读 1,053评论 1 0