https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
点击查看【bilibili】
class Solution(object):def lengthOfLongestSubstring(self, s):# 定义左右指针left = 0right = 0# 定义输出的最大长度max = 0# 定义一个字典来存储当前字符串window = dict()while right < len(s):current_char = s[right]# .setdefault()# 如果键不存在于字典中,将会添加键并将值设为默认值。window.setdefault(current_char, 0)window[current_char] += 1# 往后走一位right += 1# 窗口中有重复字符时缩小窗口while window[current_char] > 1:left_char = s[left]# i往右移动一位left += 1# 更新字典中 current_char 的数量window[left_char] -= 1window_size = right - leftif window_size > max:max = window_sizereturn max
