题目是leetcode第三题
class Solution:
def lengthofLongestSubstring(self, s: str) -> int:
maxlen = 0
memo = dict()
begin, end = 0, 0
n = len(s)
while end < n:
last = memo.get(s[end])
memo[s[end]] = end
if last is not None:
maxlen = max(maxlen, end-begin)
begin = max(begin, last + 1)
end += 1
**maxlen = max(maxlen, end-begin)
** return maxlen
求问最后为什么还要再使用一次max函数?
因为如果最后一个字符之前没有出现过,那么最后一段没有进入if last is not None,所以还要和maxlen再比较一次