给定一个二进制数组, 计算其中最大连续 1 的个数。
示例:
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
提示:
- 输入的数组只包含
0
和1
。 - 输入数组的长度是正整数,且不超过 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;
};
时间复杂度
空间复杂度