这他妈才是真真的答案,判断条件应该是 if(window[c]<=target[c]) count++
附上javascript Node 代码
function minWindow( S , T ) {
if(S==T) return S
let window = [],target = []
for(let i =0;i<T.length;++i) {
if(!target[T[i]]) {
target[T[i]] = 1
}else{
target[T[i]]++
}
}
for(let i =0;i<S.length;++i) {
window[S[i]] = 0
}
const MAX_LEN = 999999999
let left =0,right =0;
let start = 0, minLen = MAX_LEN
let count = 0
while(right<S.length) {
let c = S[right]
++right
if(target[c]){
window[c]++
if(window[c]<=target[c]) count++
}
while(count==T.length) {
if(right-left<minLen) {
start = left
minLen = right - left
}
c = S[left]
++left
if(target[c]) {
if(window[c]<=target[c]) count--
--window[c]
}
}
}
return minLen==MAX_LEN ?"": S.substr(start,minLen)
} 
京公网安备 11010502036488号