zoukankan      html  css  js  c++  java
  • LeetCode 485. Max Consecutive Ones (最长连续1)

    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

     题目标签:Array

      题目给了我们一个nums array, 里面只会出现0和1, 让我们找到一个最长连续1的长度。

      这题很简单,只要维护一个maxCount 就可以了,再设一个count,遇到1的时候,count++;遇到0的时候,把count 和 maxCount 中挑大的继续保存,更新count = 0。

      注意,最后遍历完,如果最后一段是1的话,还需要维护maxCount一次

    Java Solution:

    Runtime beats 70.20% 

    完成日期:05/10/2017

    关键词:Array

    关键点:维护一个maxCount

     1 public class Solution 
     2 {
     3     public int findMaxConsecutiveOnes(int[] nums) 
     4     {
     5         int maxCount = 0;
     6         int count = 0;
     7         
     8         for(int i=0; i<nums.length; i++)
     9         {
    10             if(nums[i] == 1) // count consecutive ones
    11                 count++;
    12             else if(nums[i] == 0) // if reach 0, save large count into maxCount
    13             {
    14                 maxCount = Math.max(maxCount, count);    
    15                 count = 0; // update count to 0
    16             }
    17                 
    18         }
    19         // check the last consecutive ones
    20         maxCount = Math.max(maxCount, count);
    21         
    22         return maxCount;
    23     }
    24 }

    参考资料:N/A

    LeetCode 题目列表 - LeetCode Questions List

  • 相关阅读:
    正则表达式
    http协议组成(请求状态码)
    谈一谈你对js线程的理解
    CSS 中定位方式有几种,说明他们的意义
    手机端白屏前端优化的方法,5 种以上
    用 js 写一个获取随机颜色的程序
    如何获取本地存储信息
    cuda 版本查阅
    ubuntu16.04 ROS安转及RVIZ启动
    Tensorflow和Caffe 简介
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/7566267.html
Copyright © 2011-2022 走看看