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

  • 相关阅读:
    二进制安全的一些基础知识
    栈溢出笔记-第五天
    一次基于白盒的渗透测试
    栈溢出笔记-第四天
    Hadoop1-认识Hadoop大数据处理架构
    Kubernetes1-K8s的简单介绍
    Docker1 架构原理及简单使用
    了解使用wireshark抓包工具
    Linux系统设置开机自动运行脚本的方法
    Mariadb/Mysql 主主复制架构
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/7566267.html
Copyright © 2011-2022 走看看