题目描述
- 给定一个二进制数组
nums, 计算其中最大连续1的个数。
解题思路
- 使用双指针法(快慢指针)
- 当目前元素
不满足等于1的条件的时候,更新连续1的个数 快指针向右移动,慢指针移动到快指针的位置- 当目前元素
满足等于1的条件的时候 只移动快指针
解题代码(JavaScript)
var findMaxConsecutiveOnes = function (nums) {
let slow = 0;
let fast = 0;
let maxLen = 0;
let len = nums.length;
while (fast <= len) {
if (nums[fast] !== 1) {
maxLen = Math.max(maxLen, fast - slow);
fast++;
slow = fast;
} else {
fast++;
}
}
return maxLen;
};