Leetcode76 最小覆盖子串

Leetcode76 最小覆盖子串_第1张图片
本题可以用双指针解决。收缩指针i延伸指针j分别指向区间的左节点和右节点。
使用哈希表记录当前区间的覆盖情况,并根据指针的移动情况不断维护。遍历所有可能的区间,同时记录最短区间。

  • 若当前区间[i, j-1]不能够完全覆盖t,延申指针j右移,寻找可行解;
  • 若区间能够完全覆盖t,收缩指针i左移,寻找最短的解

附上代码:

class Solution {
   
public:
    bool check(map<int,int>& m){
   
        for(auto x : m ){
   
            if(x.second > 0) return false;
        }
        return true;
    }

    string minWindow(string s, string t) {
   
        int i = 0, j = 

你可能感兴趣的:(双指针,c++)