❓485. 最大连续 1 的个数
难度:简单
给定一个二进制数组 nums
, 计算其中最大连续 1
的个数。
示例 1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1]
输出:2
提示:
- 1 < = n u m s . l e n g t h < = 1 0 5 1 <= nums.length <= 10^5 1<=nums.length<=105
-
nums[i]
不是0
就是1
.
💡思路:
直接遍历就行!
🍁代码:(Java、C++)
Java
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int ans = Integer.MIN_VALUE;
int cur = 0;
for(int num : nums){
if(num == 0){
ans = Math.max(cur, ans);
cur = 0;
}else{
cur++;
}
}
return Math.max(cur, ans);
}
}
C++
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int ans = 0, cur = 0;
for(int num : nums){
if(num == 0){
ans = max(cur, ans);
cur = 0;
}else{
cur++;
}
}
return max(cur, ans);
}
};
🚀 运行结果:
🕔 复杂度分析:
-
时间复杂度:
O
(
n
)
O(n)
O(n),其中
n
是数组的长度。需要遍历数组一次。 - 空间复杂度: O ( 1 ) O(1) O(1)。
题目来源:力扣。文章来源:https://www.toymoban.com/news/detail-475182.html
放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我 leetCode专栏,每日更新!文章来源地址https://www.toymoban.com/news/detail-475182.html
注: 如有不足,欢迎指正!
到了这里,关于( 数组和矩阵) 485. 最大连续 1 的个数 ——【Leetcode每日一题】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!