Longest Substring Without Repeating Characters
下面是 LeetCode 原題
Given a string, find the length of the?longest substring?without repeating characters.
Examples:
Given?"abcabcbb", the answer is?"abc", which the length is 3.
Given?"bbbbb", the answer is?"b", with the length of 1.
Given?"pwwkew", the answer is?"wke", with the length of 3.
Note that the answer must be a?substring,?"pwke"?is a?subsequenc eand not a substring.
之前做過(guò)最小子串覆蓋,感覺(jué)應(yīng)該是類似的問(wèn)題靠抑。需要的子串是一長(zhǎng)串不重復(fù)的,不包含所有出現(xiàn)過(guò)的字符也是很正常的黍檩。同樣是一個(gè)頭指針,一個(gè)尾指針始锚,found每次只存當(dāng)前子串訪問(wèn)過(guò)的字符刽酱。每發(fā)現(xiàn)任意重復(fù)字符,截止該字符之前的部分即為一個(gè)子串瞧捌。重置到重復(fù)字符之前的所有found為否棵里,這里要用到Hash來(lái)做字符到索引的映射(false, 0 ... 根據(jù)實(shí)現(xiàn)),并確保該重復(fù)字符是已發(fā)現(xiàn)狀態(tài)姐呐,開(kāi)始尋找下一個(gè)無(wú)重復(fù)子串殿怜。
后來(lái)看了一下,有個(gè)關(guān)于這類問(wèn)題的解題關(guān)鍵字:滑動(dòng)窗口曙砂,Sliding Window头谜。