給你乙個字串 s、乙個字串 t 。請你設計一種演算法,可以在 o(n) 的時間複雜度內,從字串 s 裡面找出:包含 t 所有字元的最小子串。
示例:
輸入:s = 「adobecodebanc」, t = 「abc」
輸出:「banc」
如果 s 中不存這樣的子串,則返回空字串 「」。
如果 s 中存在這樣的子串,我們保證它是唯一的答案。
題解:
滑動視窗就完事
時間複雜度o(n*字符集大小)
字元本來該是0-127
然鵝,實測裡面只有字母…於是開了58。。。
用時 23 ms,記憶體消耗 38.4 mb,菜雞如我…
class solution
int length = 0;
int index = new int[2];
int left = -1;
for(int right = 0; right < s.length(); right++)
left++;
count[(int) s.charat(left) - 65]--;}}
if(length == 0) return "";
else return s.substring(index[0] + 1, index[1] + 1);
}private boolean iscover(int count, int std)
return true;
}}
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,然後...