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 }
  • 相关阅读:
    字符串与Json操作
    默认让IE用最高文档模式浏览网页
    MVC中简单的文件下载代码
    2017年1月22日
    JDK环境变量设置
    如何实现windows命令提示符的tab补全
    win7热点设置
    为什么小米5不能适配win7
    各种错误锦集
    插头DP
  • 原文地址:https://www.cnblogs.com/David-Lin/p/7742681.html
Copyright © 2011-2022 走看看