【数组篇】day11_485. 最大连续 1 的个数
【摘要】 示例 1:输入:nums = [1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.示例 2:输入:nums = [1,0,1,1,0,1]输出:2 提示:1 <= nums.length <= 105nums[i] 不是 0 就是 1.【题解】题解:思路:遍历数组,元素值有0,1两种情况。为1时,计数count+1;为0时,更新最大连...
示例 1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1]
输出:2
提示:
1 <= nums.length <= 105
nums[i]
不是0
就是1
.
【题解】
题解:
思路:
- 遍历数组,元素值有0,1两种情况。为1时,计数count+1;为0时,更新最大连续个数res,并初始化计数count
- 注意:数组末尾有可能为1,此时需要取count与res的最大值
复杂度:
- 时间复杂度:O(n)
- 空间复杂度:O(1)
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int res = 0, count = 0;
for(int num: nums){
if(num == 1){
count++;
} else {
res = Math.max(res,count);
count = 0;
}
}
return Math.max(res,count);
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)