题目
给定一个二进制数组
nums
, 计算其中最大连续1
的个数。难度:简单
题目链接:485. 最大连续 1 的个数
示例1:
输入:nums = [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例2:
输入:nums = [1,0,1,1,0,1] 输出:2
代码展示
int findMaxConsecutiveOnes(int* nums, int numsSize){
int count_1 = 0;//记录1的个数
int i = 0;
int max1 = 0;//记录连续1中最大的个数
for(i = 0;i<numsSize;i++)//遍历数组
{
if(nums[i] == 1)//当数组元素等于1 时,记录1的个数 +1
{
count_1++;
}
else
{
count_1 = 0;//一旦遇到元素 为 0 则,把记录1的个数置 0
}
if(count_1>=max1)//注意这里时大于等于
{
max1 = count_1;//将得到最大的连续1个数的数
}
}
return max1;
}
【解析】
在二进制数组中,元素只有 0 和 1 ,返回得是连续1最多得个数,此时回想到 用一个变量来记录每一次得连续1的个数(count_1),再用另一个变量(max1)来记录其中连续1个数中 的最大的数