參考:
**其實看的不太懂
string minwindow
(string s, string t)
unordered_map<
char
,int
> map;
//存放t字串,鍵是字母,值是出現的次數
unordered_map<
char
,int
> window;
//用於維護乙個window視窗並記錄其中在t裡的字母即次數,其左右邊界分別是slow和fast
for(
int i =
0; i < t.
length()
; i++
)int minlength = int_max;
//記錄最小長度
int lettercounter =0;
//記錄視窗內在t裡出現的字母的總次數
for(
int slow =
0, fast =
0; fast < s.
length()
; fast++)}
if(lettercounter >= t.
length()
)if(fast - slow +
1< minlength)}}
return result;
}
思路:
先找乙個包含所有字母t的視窗,然後如果最左邊的字母不是t裡的字母或者是多餘的字母就可以將右視窗向右滑動。
LeetCode76 最小覆蓋子串
給定乙個字串 s 和乙個字串 t,請在 s 中找出包含 t 所有字母的最小子串。示例 輸入 s adobecodebanc t abc 輸出 banc 說明 字串和雜湊表的問題。hashmap來儲存t字串中個字母元素的出現次數,left right記錄當前子字串的左右下標值,min minleft ...
leetcode 76 最小覆蓋子串
這道題我使用了很笨的方式花了好久解決了,但是時間複雜度太度,只看網上檢視原始碼,不得不說網上的答案基本都是一樣的,但是對於基礎相對薄弱的我來說這些 看起來很是費勁,還用要加強c 基礎的練習才行。思路相對來說不是很難 1 首先構架t字串的hash表,因為字元與ascii碼較好的關係,使用vector陣...
leetcode76 最小覆蓋子串
給定乙個字串 s 和乙個字串 t,請在 s 中找出包含 t 所有字母的最小子串。示例 輸入 s adobecodebanc t abc 輸出 banc 說明 如果 s 中不存這樣的子串,則返回空字串 如果 s 中存在這樣的子串,我們保證它是唯一的答案。典型雙指標滑動串列埠題目,先將t建dict,然後...