zoukankan      html  css  js  c++  java
  • [Leetcode]485. Max Consecutive Ones

    Given a binary array, find the maximum number of consecutive 1s in this array.

    Example 1:

    Input: [1,1,0,1,1,1]
    Output: 3
    Explanation: The first two digits or the last three digits are consecutive 1s.
        The maximum number of consecutive 1s is 3.
    

    Note:

    • The input array will only contain 0 and 1.
    • The length of input array is a positive integer and will not exceed 10,000

    思路:如果一开始传进来数组为空,则返回0。否则,设置两个变量maxConsecutiveOnes 和consecutiveOnes,

    consecutiveOnes统计连续 1 的个数,如果某个位置导致连续中断,则把consecutiveOnes 赋0,继续统计后面的。

    这个过程中把最大的consecutiveOnes值赋给maxConsecutiveOnes,代码如下

     1 class Solution {
     2     public int findMaxConsecutiveOnes(int[] nums) {
     3         if (nums.length==0)
     4             return 0;
     5         int consecutiveOnes = 0,maxConsecutiveOnes = 0;
     6         for (int i=0;i<nums.length;i++){
     7             if (nums[i]==1)
     8                 consecutiveOnes++;
     9             else 
    10                 consecutiveOnes=0;
    11             if (consecutiveOnes>maxConsecutiveOnes)
    12                 maxConsecutiveOnes = consecutiveOnes;
    13         }
    14         return maxConsecutiveOnes;
    15     }
    16 }
  • 相关阅读:
    emacs 集成astyle
    git reflog
    rpm 打包的时候 不进行strip
    gmock
    如何对正在运行的进程,进行heap profile
    linux性能压测工具
    默认宏定义
    gdb fabs错误输出
    基于Clang的缓存型C++编译器Zapcc
    grep 多行 正则匹配
  • 原文地址:https://www.cnblogs.com/David-Lin/p/7742681.html
Copyright © 2011-2022 走看看