滑動窗口+哈希表?
哈希表?seen 統計:?指針?j遍歷字符?s,哈希表統計字符?s[j]最后一次出現的索引?。
更新左指針 i : 根據上輪左指針 i 和 seen[s[j]],每輪更新左邊界 i?,保證區間 [i+1,j] 內無重復字符且最大。
更新結果 res?: 取上輪 res和本輪雙指針區間 [i+1,j] 的寬度(即 j?i )中的最大值。
class Solution:def lengthOfLongestSubstring(self, s: str) -> int:seen=dict()#存值res=0i=-1for j in range(len(s)):if s[j] in seen:#更新左指針i=max(seen[s[j]],i)#哈希表記錄seen[s[j]]=jres=max(res,j-i)return res
?