1. 题目
2. 思路
在长度为k的范围内进行搜索,计算W的最小数量。主要是对左指针指向”W“的处理,我觉得这个地方要好好理解,其他的还是比较好理解的。
3. 代码实现
/**
* @param {string} blocks
* @param {number} k
* @return {number}
*/
var minimumRecolors = function(blocks, k) {
let left = 0, right = 0, min = Infinity, cnt = 0
const n = blocks.length
while (right < n) {
if (blocks[right] === 'W') cnt++
if (right - left + 1 === k) {
min = Math.min(min, cnt)
if (blocks[left++] === 'W') {
cnt--
}
}
right++
}
return min
};