最大连续1的个数 III

题目链接

代码

    /**
     * 滑动窗口的写法
     */
    public int longestOnes(int[] A, int K) {
        // 滑动窗口的左边界    // 统计滑动窗口中零的的个数
        int left = 0,countZero = 0;
        //i即窗口的有边界
        for (int i = 0; i < A.length; i++) {
            if(A[i] == 0) countZero++;
            // 如果统计的0大于K,那么让滑动窗口的左边界,往右移动,(使得滑动窗口里面的零的数量满足条件)
            if (countZero > K) {

                if (A[left] == 0) countZero--;
                left++;
            }
        }
        return A.length - left;
    }

posted @ 2020-09-05 08:42  Bears9  阅读(118)  评论(0编辑  收藏  举报