程序员

力扣 1004 最大连续1的个数 III

2020-11-10  本文已影响0人  zhaojinhui

题意:找出数组中最大连续的1的个数

思路:遍历数组,利用滑动窗口,维护一个最长连续的1的数组

思想:滑动窗口

复杂度:时间O(n),空间O(1)

class Solution {
    public int longestOnes(int[] A, int K) {
        int len = A.length;
        int res = 0;
        int start = 0;
        int end = 0;
        int cnt = 0;
        while(end < len) {
            if(A[end++] == 0) {
                cnt++;
            }
            while(cnt > K) {
                if(A[start] == 0) {
                    cnt--;
                }
                start++;
            }
            res = Math.max(res, end - start);
        }
        return res;
    }
}
上一篇下一篇

猜你喜欢

热点阅读