• LeetCode 1004. Max Consecutive Ones III


    原题链接在这里:https://leetcode.com/problems/max-consecutive-ones-iii/

    题目:

    Given an array A of 0s and 1s, we may change up to K values from 0 to 1.

    Return the length of the longest (contiguous) subarray that contains only 1s. 

    Example 1:

    Input: A = [1,1,1,0,0,0,1,1,1,1,0], K = 2
    Output: 6
    Explanation: 
    [1,1,1,0,0,1,1,1,1,1,1]
    Bolded numbers were flipped from 0 to 1.  The longest subarray is underlined.

    Example 2:

    Input: A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3
    Output: 10
    Explanation: 
    [0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
    Bolded numbers were flipped from 0 to 1.  The longest subarray is underlined.

    Note:

    1. 1 <= A.length <= 20000
    2. 0 <= K <= A.length
    3. A[i] is 0 or 1 

    题解:

    Same idea as Max Consecutive Ones II.

    Solution is easy to extend from 1 to K.

    Time Complexity: O(n). n = A.length.

    Space: O(1).

    AC Java:

     1 class Solution {
     2     public int longestOnes(int[] A, int K) {
     3         if(A == null || A.length == 0){
     4             return 0;
     5         }
     6         
     7         int count = 0;
     8         int walker = 0;
     9         int runner = 0;
    10         int res = 0;
    11         while(runner < A.length){
    12             if(A[runner++] != 1){
    13                 count++;
    14             }
    15             
    16             while(count > K){
    17                 if(A[walker++] != 1){
    18                     count--;
    19                 }
    20             }
    21             
    22             res = Math.max(res, runner-walker);
    23         }
    24         
    25         return res;
    26     }
    27 }
  • 相关阅读:
    Zepto结合Swiper的选项卡
    Angular选项卡
    创建简单的node服务器
    封装ajax
    JQuery和html+css实现鼠标点击放烟花
    js实现螺旋纹理特效
    Angular入门
    Angular JS例子 ng-repeat遍历输出
    Angular 基础教程(1)
    PHP数组
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/11399145.html
Copyright © 2020-2023  润新知