zoukankan      html  css  js  c++  java
  • 485. 最大连续1的个数

    给定一个二进制数组, 计算其中最大连续1的个数。

    示例 1:

    输入: [1,1,0,1,1,1]

    输出: 3

    解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.

    注意:

    输入的数组只包含 0 和1。

    输入数组的长度是正整数,且不超过 10,000。

     1/**
    2 * @param {number[]} nums
    3 * @return {number}
    4 */

    5
    6var findMaxConsecutiveOnes = function (nums) {
    7    if(!nums.includes(0)) return nums.length
    8    var a = [], l = 0
    9    // 找0
    10    for(var i=0; i<nums.length; i++) {
    11        if(nums[i]===0) {
    12            a.push(i)
    13        }
    14    }
    15
    16    // 第一个0前面的1; ex [1,1,1,0,1,1,0,1,1,1,1]
    17    l = a[0]
    18    // 最后一个0后面的1;
    19    var idx = a[a.length-1]
    20    if(nums.length - 1 - idx > l) {
    21        l = nums.length - 1 -idx
    22    }
    23    // 相邻两个0之间的1
    24    for(var j=0; j<a.length-1; j++) {
    25        if(a[j+1] - a[j] - 1 > l) {
    26            l = a[j+1] - a[j] - 1
    27        }
    28    }
    29    return l
    30}
  • 相关阅读:
    Win10 rocketmq 安装
    Vulnhub DC7
    Vulnhub DC6
    Vulnhub DC5
    Vulnhub DC4
    Vulnhub DC3
    一文带你学会CSRF漏洞
    Shiro反序列化漏洞复现与实战
    DataPipeline CPO 陈雷:实时数据融合之法:便捷可管理
    DataPipeline合伙人 & CPO 陈雷:企业实时数据管理问题与实践 | 附PPT下载
  • 原文地址:https://www.cnblogs.com/rencoo/p/9774090.html
Copyright © 2011-2022 走看看