/76 minimum window string
using sliding window, string in window contain must contain string t, keep move right until wndow string match condition, then move left to contract window to find minimum,
attention, 一次只能移动左指针或右指针,不能同时移动左右指针/
public String minWindow(String s, String t) {
int [] freqT=new int [256];
int [] freqS= new int[256];
int letterNum=0, letterMatch=0;
for(char ch: t.toCharArray()){
freqT[ch];
if ( freqT[ch]==1)
letterNum;
}
int minLen=Integer.MAX_VALUE;
String res=”“;
int left=0, right=0;
while(right[HTML_REMOVED]0){
freqS[ch];
if (freqS[ch]==freqT[ch])
letterMatch;
}
right;
if (letterMatch==letterNum){
while(left[HTML_REMOVED](right-left))
res=s.substring(left,right);
freqS[s.charAt(left)]–;
if (freqS[s.charAt(left)]<freqT[s.charAt(left)])
letterMatch–;
left;
}
}
}
return res;
}