485. 最大连续 1 的个数 javascript
题目:
给定一个二进制数组, 计算其中最大连续 1 的个数。
示例
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
代码1
- 用了对象
- 若为1,则将其放到对象中,并统计当前对象的长度
- 最后返回最大长度
var findMaxConsecutiveOnes = function(nums) {
var obj = {}
var tmp = 0
for(var i=0;i<nums.length;i++){
if(nums[i]==1){
obj[i] = 1
}else{
obj ={}
}
var arr = Object.keys(obj);
var len = arr.length;
if(len>tmp)tmp = len
}
return tmp
};
后来想了想,可以不用对象直接统计数量,于是就有了代码2
代码1
- 用了对象
- 若为1,则将其放到对象中,并统计当前对象的长度
- 最后返回最大长度
var findMaxConsecutiveOnes = function(nums) {
let maxCount = 0, count = 0;
for (let i of nums) {
if (i === 1) {
count++;
} else {
maxCount = Math.max(maxCount, count);
count = 0;
}
}
maxCount = Math.max(maxCount, count);
return maxCount;
};
学艺不精,还需努力💪