您的位置:首页 > 其它

leetcode第三题:无重复字符的最长子串

2018-12-03 11:36 369 查看
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
start = 0
max_len = 0
d = {}
for i, c in enumerate(s):
if c in d and d[c] >= start:
max_len = max(max_len, i - start)
start = d[c] + 1
d[c] = i
return max(max_len, len(s) - start)
print(Solution.lengthOfLongestSubstring('self','asdasd'))

解释:for i, c in enumerate(s):中的i是字典中的一个下标,从0开始,c就表示在字符串s中的每一个字母,

然后递归调用,找到第二次出现的一个字母的位置减去这个字母第一次出现的位置,找到最大的相减的长度。max

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: