Minimum Window Substring LeetCode solution in Python
1# Added on 2022-08-18 15:51:55.96391523var minWindow = function(s, t) {4const tf = {}, sf = {};5for(let c of t) {6tf[c] = (tf[c] || 0) + 1;7}8let l = 0, r = 0, rs = t.length;9let ml = -1, mr = -1;10for(; r < s.length; r++) {11const c = s[r];1213if(!tf[c]) continue;1415const sc = sf[c] || 0;16sf[c] = sc + 1;17if(sf[c] <= tf[c]) {18rs--;19}2021if(rs == 0) {22while(true) {23if(mr == -1 || mr - ml > r - l) {24[mr, ml] = [r, l];25}2627const c = s[l];28if(!tf[c]) {29l++;30}31else if(sf[c] - 1 < tf[c]) {32sf[c]--, l++, rs++;33break;34} else {35sf[c]--;36l++;37}38}39}40}41if(mr == -1) return '';42return s.slice(ml, mr + 1);43};