Leetcode 解题 Longest Substring without repeating charcater python

时间:2023-03-09 22:24:52
Leetcode 解题 Longest Substring without repeating charcater python

原题:

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