7-6的一点问题
来源:7-6 LeetCode:76. 最小覆盖子串

goodmornight
2021-02-08
老师我想问一下,这段代码当中,因为needType已经为0了,那如果c2存在need中,不应该数量就是0吗?
var minWindow = function(s, t) {
let l = 0;
let r= 0;
let need = new Map();
let res = '';
for (let i of t) {
need.set(i, need.has(i) ? need.get(i) + 1 : 1);
}
let needType = need.size;
while(r < s.length) {
const c = s[r];
if(need.has(c)) {
need.set(c, need.get(c) - 1);
if(need.get(c) === 0) needType--;
}
while(needType === 0) {
const newRes = s.substring(l, r + 1);
if(!res || newRes.length < res.length) res = newRes;
const c2 = s[l];
if(need.has(c2)) {
need.set(c2, need.get(c2) + 1);
if(need.get(c2) === 1) needType++;
// 为什么不能这么写呢?
// need.set(c2, 1);
// needType++;
}
l++;
}
r++;
}
return res;
};
写回答
1回答
-
lewis
2021-02-08
你可以在相应的位置打log,对比一下
00
相似问题