题目简述
给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
提示
- 输入的数组只包含 0 和1。
- 输入数组的长度是正整数,且不超过 10,000。
题目分析
很简单的一道题,只需遍历的时候统计连续1的个数即可,碰到0就清空数据,遍历完之后再比较一次,以免出现全是1的情况。代码如下:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int sum=0,count=0;
for(int i=0;i<nums.size();i++){
if(nums[i]==1)sum++;
else{
count=max(count,sum);
sum=0;
}
count=max(count,sum);
}
return count;
}
};