// 最大连续1的个数 485 easy
// 给定一个二进制数组, 计算其中最大连续1的个数。
//
// 示例 1:
// 输入: [1,1,0,1,1,1]
// 输出: 3
// 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
// 注意:
// 输入的数组只包含 0 和1。
// 输入数组的长度是正整数,且不超过 10,000。
/**
* @param {number[]} nums
* @return {number}
*/
var findMaxConsecutiveOnes = function(nums) {
let arr = []
let curNum = 0
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 1) {
if (curNum === 0) {
curNum = 1
} else {
curNum++
}
if(i === nums.length - 1){
arr.push(curNum)
}
} else { // 遇到0,
if (curNum === 0) { // 数组开头就是0的情况, 以及一直是0在连续的情况
} else { // 从1变成0的情况
arr.push(curNum)
curNum = 0
}
}
}
return arr.reduce((pre,next)=>{
return Math.max(pre, next)
}, 0)
};
console.log(findMaxConsecutiveOnes([1, 1, 0, 1, 1, 1]))
作者GitHub:https://github.com/cunzaizhuyi/brain-model-tool