Aditya Verma Approach || Easy Hashmap with Sliding Window || Minimum Window Substring
\nif (t.length() > s.length()) {\n  return "";\n}\n\nif (s == t)\n  return s;\nunordered_map < char, int > m;\n\nfor (auto it: t) {\n  m[it]++;\n}\n\nint cnt = 
```\nif (t.length() > s.length()) {\n  return "";\n}\n\nif (s == t)\n  return s;\nunordered_map < char, int > m;\n\nfor (auto it: t) {\n  m[it]++;\n}\n\nint cnt = m.size();\nint i = 0;\nint j = 0;\nint ans = INT_MAX;\nint start = -1;\nint end = -1;\nwhile (j < s.length()) {\n  if (m.find(s[j]) != m.end()) {\n    m[s[j]]--;\n    if (m[s[j]] == 0)\n      cnt--;\n  }\n\n  if (cnt == 0) {\n    if (j - i + 1 < ans) {\n      start = i;\n      end = j;\n      ans = j - i + 1;\n    }\n\n    while (cnt == 0) {\n      if (m.find(s[i]) != m.end()) {\n\n        m[s[i]]++;\n        if (m[s[i]] > 0)\n          cnt++;\n\n      }\n      i++;\n      if (j - i + 1 < ans && cnt == 0) {\n        start = i;\n        end = j;\n        ans = j - i + 1;\n      }\n    }\n  }\n\n  j++;\n}\n\nstring sans = "";\nif (start == -1 && end == -1) {\n\n  return sans;\n}\n\nfor (int i = start; i <= end; i++) {\n\n  sans += s[i];\n}\n\nreturn sans;\n```
['C++']