Hard
Given two strings s and t, return the smallest substring of s that contains every character of t (including duplicates). If there is no such window, return the empty string "". When several windows share the minimum length, return the one with the smallest starting index.
Input: s = "ADOBECODEBANC", t = "ABC" Output: "BANC"
Input: s = "a", t = "a" Output: "a"
Input: s = "a", t = "aa" Output: ""