bruteforce with two pointer check verified here: https://www.geeksforgeeks.org/problems/minimum-window-subsequence/1

class Solution {
  public:
    string minWindow(string& s1, string& s2) {
        // first find min len
        // then compute based on that?
        
        // how do I find min len?
        // two pointer 
        
        int bestLen = INT_MAX;
        int start = -1;
        
        for (int i = 0; i < s1.size(); i++) {
            if (s1[i] == s2[0]) {
                int y = 0;
                for (int x = i; x < s1.size(); x++) {
                    if (s1[x] == s2[y]) {
                        y++;
                    }
                    if (y == s2.size()) {
                        if (x-i+1 < bestLen) {
                            bestLen = x-i+1;
                            start = i;
                        }
                        break;
                    }
                }
            }
        }
        
        if (start == -1) {
            return "";
        }
        return s1.substr(start, bestLen);
    }
};