题目
给定一个二进制数组
nums, 计算其中最大连续1的个数。
分析
连续1 =》 不断循环数组 判断是否为1
最大 =》 不断更新max
解法:数组遍历
思想
1. 连续出现 1 则可以遍历数组,来判断每个值, 使用count 来统计1的个数
2. 如果是1 则count ++,且不断更新max,
3. 如果是0 则count清零
*/
// @lc code=start
/**
* @param {number[]} nums
* @return {number}
*/
var findMaxConsecutiveOnes = function (nums) {
let max = 0;
let count = 0;
for (let i = 0; i < nums.length; i++) {
if (nums[i] == 1) {
count++;
max = Math.max(max, count);
} else {
count = 0;
}
}
return max;
};
//时间复杂度:O(n)
//空间复杂度:O(1)
总结
今天这道题是主要是练习如何求解数组类题目
大家可以看看我分享的一个专栏(前端搞算法)里面有更多关于算法的题目的分享,希望能够帮到大家,我会尽量保持每天晚上更新,如果喜欢的麻烦帮我点个赞,十分感谢
大家如果对“TS”感兴趣的可以看看我的专栏 (TypeScript常用知识),感谢大家的支持
文章内容目的在于学习讨论与分享学习算法过程中的心得体会,文中部分素材来源网络,如有侵权,请联系删除,邮箱 182450609@qq.com
\