給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。
輸入: "pwwkew"
輸出: 3
解釋: 因為無重複字元的最長子串是 "wke",所以其長度為 3。
請注意,你的答案必須是 子串 的長度,"pwke" 是乙個子串行,不是子串。
判斷最長子串的長度,那麼就定義乙個區間[i,j],要求這個區間中沒有重複字元。
用j遍歷字串,判斷字元是否遇到過。
先處理沒有遇到過的情況:為了記錄乙個沒有重複字元的區間,第一次遇到字元s時就將它的後乙個下標j+1儲存:m[s[j]]=j+1,意義是遇到同樣字元s時,可以得到從上乙個相同字元開始不帶重複字元的區間[m[s[j]],j]。
為了方便計算長度我們在遇到重複的字元時取左下標i和m[s[j]]的最大值就可以了。
class solution
return ans;}}
;
leetcode 3 無重複的字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
leetcode 3 無重複字元的最長字元子串
堅持打卡!題目 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwk...
leetcode 3 最長無重複字串
3.longest substring without repeating characters 題面 given a string,find the length of the longest substring without repeating characters.給定字串,找到最長無重複字...