1. 题目链接
2. 分析
最多可以将K个值从0变成1,因此滑动窗口的限制条件: 0的数量(zeros)小于K
,算法过程如下
- 有一个滑动窗口(slipper),每次都会从A中读入一个数
- 当读入的数为0时,
zeros++
- 当zeros的数量大于K时,会取出slipper首部的元素,当取值为0时
zeros--
总体代码如下:
var longestOnes = function (A, K) {
let slipper = [];
let len = A.length;
let res = 0;
let zeros = 0