题目链接
此题与jz048相同。这个算法的时间复杂度是O(N),空间复杂度是O(1)。
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
dic = {}
res = tmp = 0
for i in range(len(s)):
p = dic.get(s[i], -1)
dic[s[i]] = i
tmp = tmp + 1 if i - p > tmp else i - p
res = max(res, tmp)
return res