原题:
Given a string, find the length of the longest substring without repeating character
For example, the Longest substring without repeating letters for "abcabcbb" is "abc", with the length is 3
思路:参考blog.****.net/hcbbt/article/details/43966513
开一个数组记录当前字符最近出现的位置,遍历,更新左边界,用它计算最大值。
代码:
class Solution:
def lenthOfLongestSubstring(self, s):
res = 0
left = 0
d = {} for i , ch in enumerate(s):
if ch in d and d[ch] >= left: left = d[ch] + 1
d[ch] = i
res = max(res, i -left + 1)
return res