動手刷LeetCode 無重複字串的最長長度

2021-10-04 00:13:37 字數 986 閱讀 6719

程式設計也是屬於搭積木的遊戲,能不重複造輪子就不造輪子;

操作字串的知識點;字串相當於是乙個陣列;

雜湊表的的建立和使用方法;

動態規劃的知識點;

class

solution

if(s.

length()

==1)for

(i=0

;i)// 不重複字串大小

ans.

clear()

;// 清空

ans.

push_back

(s[i]);

break;}

}// 遍歷迴圈玩新建字串也沒有相等的

if(j==ans.

size()

)}if(a>ans.

size()

)else}}

;

解法2:滑動視窗

思想即用兩個指引的變數,來指著滑動右指引;

class

solution

} end++

; length++

; result =

max(result, length);}

return result;}}

;

解法3:動態規劃

借助動態規劃的思路,從前到後求出以每個位置為終止位置,所構成無重複子串的長度,之後求這些長度的最大值即可。

public

class

solution

return result.

max();

}private

intgetlength

(int index,string s)

return result;

}}

能努力一次看懂的就一次看懂,不留遺憾,一旦錯過了就真的錯過了;

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 輸入 pwwkew 輸出 3 ...

Leetcode刷題筆記 316 去除重複字母

題目 給你乙個字串 s 請你去除字串中重複的字母,使得每個字母只出現一次。需保證 返回結果的字典序最小 要求不能打亂其他字元的相對位置 注意 該題與 1081相同 示例 1 輸入 s bcabc 輸出 abc 示例 2 輸入 s cbacdcbc 輸出 acdb 提示 解法 這道題和 leetcod...