def lengthOfLongestSubstring(strs):result = []min_size = 0for ch in strs:if ch not in result:result.append(ch)else:index = result.index(ch)for i in range(index+1):result.pop(0)result.append(ch)if len(result)>min_size:min_size = len(result)return min_sizedef lengthOfLongestSubstring1( s: str) -> int:# 哈希集合,记录每个字符是否出现过occ = set()n = len(s)# 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动rk, ans = -1, 0for i in range(n):if i != 0:# 左指针向右移动一格,移除一个字符occ.remove(s[i - 1])while rk + 1 < n and s[rk + 1] not in occ:# 不断地移动右指针occ.add(s[rk + 1])rk += 1# 第 i 到 rk 个字符是一个极长的无重复字符子串ans = max(ans, rk - i + 1)return ansdef lengthOfLongestSubstring1(strs):n = len(strs)for i in range(n):while strs[i]return min_size# print(lengthOfLongestSubstring1("abcabcbb"))# print(lengthOfLongestSubstring1("pwwkew"))print(lengthOfLongestSubstring1("bbbbb"))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。