Easy to understand C++ sliding window technique
\nclass Solution {\npublic:\n    string minWindow(string s, string t) {\n        int mm = s.size(), n = t.size();\n        unordered_map<char, int> m;\n        
```\nclass Solution {\npublic:\n    string minWindow(string s, string t) {\n        int mm = s.size(), n = t.size();\n        unordered_map<char, int> m;\n        for(int i=0;i<n;i++)m[t[i]]++;\n        int l = 0, r = 0;\n        int res = INT_MAX;\n        string st = "";\n        string ryan = s.substr(l,r-l+1);\n        array<int,2> ff = {-1,-1};\n        unordered_map<char, int> m2;\n        for(char c : ryan)m2[c]++;\n        while(l<mm&&r<mm){\n            int rr = 0;\n            bool done = 0;\n            for(auto it : m){\n                if(m2.find(it.first)!=m2.end()){\n                    if(m2[it.first]<it.second){\n                        done=1;break;\n                    }    \n                }else{\n                    done=1;break;\n                }\n            }\n            if(done==1){\n                r+=1;\n                m2[s[r]]++;\n            }else{\n                if((r-l+1)<res){\n                    res = r-l+1;\n                    ff[0]=l;ff[1]=r;\n                }\n                m2[s[l]]--;\n                l+=1;\n            }\n        }\n        if(ff[0]==-1)return st;\n        st = s.substr(ff[0],ff[1]-ff[0]+1);\n        return st;\n    }\n};\n```\n**Feel free to share improvements/suggestions. Questions/Discussions are welcome.**
['C', 'Sliding Window']