Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 950 Bytes

485. 最大连续 1 的个数.md

File metadata and controls

56 lines (38 loc) · 950 Bytes

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

示例:

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

提示:

  • 输入的数组只包含 01
  • 输入数组的长度是正整数,且不超过 10,000。

思路

双指针遍历找到当前连续的长度,并保存最大值

代码

JavaScript Code

/**
 * @param {number[]} nums
 * @return {number}
 */
var findMaxConsecutiveOnes = function(nums) {
  let l = 0, r = 0, ret = 0;
  const len = nums.length
  while(r < len) {
    if (!nums[r]) {
      l = r + 1;
      r++;
    } else {
      r++;
      ret = Math.max(ret, r - l)
    }
  }
  return ret;
};

复杂度分析

时间复杂度 $O(N)$

空间复杂度 $O(1)$