給你乙個字串 s、乙個字串 t,請在字串 s 裡面找出:包含 t 所有字母的最小子串。
示例:輸入: s = "adobecodebanc", t = "abc"
輸出: "banc"
說明:如果 s 中不存這樣的子串,則返回空字串 ""。
如果 s 中存在這樣的子串,我們保證它是唯一的答案。
class solution ;
int map_s[max_array_len] = ;
vectorvec_t;
for(int i = 0;i < t.length();i++)
map_t[t[i]]++;
for(int i = 0;i < max_array_len;i++)
if(map_t[i] > 0)
vec_t.push_back(i);
int window_begin = 0;
string res;
for(int i = 0;i < s.length();i++)
map_s[s[i]]++;
while(window_begin < i)
char begin_ch = s[window_begin];
if(map_t[begin_ch] == 0)
window_begin++;
else if(map_s[begin_ch] > map_t[begin_ch])
map_s[begin_ch]--;
window_begin++;
else
break;
if(is_window_ok(map_s,map_t,vec_t))
int new_window_len = i - window_begin + 1;
if(res == "" || res.length() > new_window_len)
res = s.substr(window_begin,new_window_len);
return res;
76 最小覆蓋子串
題目 給你乙個字串s 乙個字串t,請在字串s裡面找出 包含t所有字母的最小子串。示例 輸入 s adobecodebanc t abc 輸出 banc 方法一 自己寫的,但是leetcode上超時 defminwindow s,t m 0 all in false iflen t 0or len s...
76最小覆蓋子串
給你乙個字串 s 乙個字串 t,請在字串 s 裡面找出 包含 t 所有字母的最小子串。示例 輸入 s adobecodebanc t abc 輸出 banc 說明 滑動視窗解法。hashmap方式 param s param t return public static string minwind...
76 最小覆蓋子串
給你乙個字串 s 乙個字串 t,請在字串 s 裡面找出 包含 t 所有字元的最小子串。示例 輸入 s adobecodebanc t abc 輸出 banc 說明 如果 s 中不存這樣的子串,則返回空字串 如果 s 中存在這樣的子串,我們保證它是唯一的答案。使用滑動視窗的思想,我們可以用乙個map來...