給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。只需要兩個指標,乙個指向結尾,乙個指向開頭。右指標不斷前進,用hash表記錄每個字元,如果出現重複字元就開始移動左指標,不斷把左指標指向的字元從hash表種刪除。直到左指標和右指標指向的字元相同,再右移一格左指標以後重新開始右指標的前進。示例 1:
輸入: 「abcabcbb」 輸出: 3 解釋: 因為無重複字元的最長子串是 「abc」,所以其長度為 3。 示例 2:
輸入: 「bbbbb」 輸出: 1 解釋: 因為無重複字元的最長子串是 「b」,所以其長度為 1。 示例 3:
輸入: 「pwwkew」 輸出: 3 解釋: 因為無重複字元的最長子串是 「wke」,所以其長度為 3。
請注意,你的答案必須是 子串 的長度,「pwke」 是乙個子串行,不是子串。
如果看過類似的演算法介紹就知道這種演算法叫做滑動視窗。這題比較簡單。但是我提交的時候出了錯,debug了半小時,原因是我一開始以為它的字元只有26個小寫字母,沒想到……終於在某個錯誤樣例中我發現測試樣例裡居然還有空格……發現問題以後一下子就改好**了。直接雙百。
Leetcode刷題之路 3 無重複的最長字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
leetcode 第3題 無重複字元的最長字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。注意 區分字串和子串行,子串必須相鄰,子串行不一定 用乙個陣列實現hashmap,key為字元,value為字元最後出現的位置,初始化為 1。陣列大小 因為ascii表只有256個字元,然而鍵盤只能表示128個,所以用128也行。用乙個 ...
LeetCode刷題 3 無重複字元的最長字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...