76. Minimum Window Substring
- 大多数寻找子字符串的问题都可以通过HashMap and two pointer 解决
- 超时方案
public String minWindow(String s, String t) {
int max = s.length();
String result = "";
for(int i=0;i<s.length()-t.length()+1;i++){
for(int j = i+t.length();j<=s.length();j++){
if(cont(s.substring(i,j), t) ) {
if(j-i < max ){
max = j-i;
result = s.substring(i,j);
}
}
}
}
if(max == s.length()){
if(cont(s,t)) return s;
return "";
}
return result;
}
public boolean cont(String s, String t){
int[] map = new int[256];
int count = t.length();
for(int i=0;i<t.length();i++){
map[t.charAt(i) - 'A']++;
}
for(int i=0;i<s.length();i++){
if(map[s.charAt(i) - 'A'] > 0){
map[s.charAt(i) - 'A']--;
count--;
}
}
return count == 0;
}

浙公网安备 33010602011771号