题目:
给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。
思路:
依旧滑动窗口, 依旧重复字串, 依旧用哈希表存出现次数
代码:
var maximumLengthSubstring = function (s) {
let map = new Map();
let ans = 0;
let left = 0;
const n = s.length;
for (let right = 0; right < n; right++) {
const x = s[right];
map.set(x, map.get(x) + 1 || 1);
while (map.get(x) > 2 && left <= right) {
const y = s[left];
map.set(y, map.get(y) -1|| 0);
left++;
}
ans = Math.max(ans, right - left + 1);
}
return ans;
};