zoukankan      html  css  js  c++  java
  • 3. 无重复字符的最长子串

    #双指针,如果遇到重复的词,就更新起始指针
    1
    class Solution: 2 def lengthOfLongestSubstring(self, s): 3 """ 4 :type s: str 5 :rtype: int 6 """ 7 if len(s)<=1:return len(s) 8 aa={s[0]:0} 9 i=0 10 j=1 11 maxlen=0 12 while(j<len(s)): 13 if not s[j] in aa: 14 aa[s[j]]=j 15 else: 16 maxlen=max(maxlen,j-i)#避免abbca这种情形,i已经=2,但查表得到aa['a']=0,因为我们已经能够确定0-2之间有重复 17 i=max(aa[s[j]]+1,i) 18 aa[s[j]]=j 19 j+=1 20 maxlen=max(maxlen,j-i)#最后计算一遍,计算出'abc'这种不会进入else的情形 21 return maxlen
  • 相关阅读:
    PHP PDO
    常用JavaScript字符串方法简述
    命名
    jquery远程班备忘
    html历史
    CSS3的翻转效果
    正则
    排序算法
    firebug的调试,console
    跨域
  • 原文地址:https://www.cnblogs.com/techengin/p/10220142.html
Copyright © 2011-2022 走看看