leetcode 67.Minimum Window Substring
2016-09-27 15:06
357 查看
// 双指针, 哈希表 class Solution { public: string minWindow(string s, string t) { vector<int> cnt(128, 0); for (int e : t) { cnt[e]++; } int begin, minWindowLen = INT_MAX; int tLen = t.size(); for (int tail = 0, head = 0; head < s.size();) {// [tail, head) //统计t中还剩多少没有字符被覆盖掉 if (cnt[s[head++]]-- > 0) { tLen--; } // t被s中[tail... head)(开区间)位置的子串覆盖 if (tLen == 0) { // 更新tail, 将从tail开始的一段字串剔除,因为重复覆盖了 while (cnt[s[tail]] < 0) { cnt[s[tail++]]++; } if (minWindowLen > head - tail) { minWindowLen = head - tail; begin = tail; } // 移动tail,使得覆盖失效 cnt[s[tail++]]++; tLen++; } } return minWindowLen == INT_MAX ? "" : s.substr(begin, minWindowLen); } };
相关文章推荐
- LeetCode_OJ【76】Minimum Window Substring
- [LeetCode] Minimum Window Substring
- 143_leetcode_Minimum Window Substring
- 【leetcode刷题笔记】Minimum Window Substring
- leetcode 76: Minimum Window Substring
- LeetCode: Minimum Window Substring [076]
- Leetcode 76-MinimumWindowSubstring 解题报告
- Leetcode Minimum Window Substring
- [leetcode]Minimum Window Substring
- leetcode 76: Minimum Window Substring
- [LeetCode] Minimum Window Substring
- leetcode: Minimum Window Substring
- leetcode第一刷_Minimum Window Substring
- LeetCode76 Minimum Window Substring(两种解法)
- [leetcode]Minimum Window Substring
- Leetcode: Minimum window substring
- [leetcode]Minimum Window Substring
- [leetcode]Minimum Window Substring
- LeetCode[Hash Table]: Minimum Window Substring
- leetcode-Minimum Window Substring