
题目出自: 3. Longest Substring Without Repeating Characters
源码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ if not s: return 0 pos = {} max_len = 0 start = 0 # start ~ index-1 一定是不重复的 for index, e in enumerate(s): if e not in pos or pos[e] < start: pos[e] = index else: max_len = max(index-start, max_len) # 当前不重复的长度: index-1-(start-1) start = pos[e] + 1 pos[e] = index max_len = max(index-start+1, max_len) # 当前不重复的长度 index - (start-1) return max_len
|
近期评论