给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:
- 输入的数组只包含
0
和1
。 - 输入数组的长度是正整数,且不超过 10,000。
思路:遍历数组,定义count变量对连续出现的1计数,当出现0时,更新最大值,并开始重新计数。
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int max=0;
int count=0;
for(int i:nums) {
if(i==1) {
count++; //对连续1计数
}else if(i==0) {
if(count>max) {
max=count; //更新最大值
}
count=0; //不连续时,count置0
}
}
if(count>max) {
return count;
}
return max;
}
}