题目
给定一个二进制数组
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
//遍历数组 - {
- 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个数中 的最大的数