题目描述:
给定一个二进制数组 nums
, 计算其中最大连续 1 的个数。
思路:
很显然的需要一个计数器,遇到1就++,遇到0计数器归零,那要统计最大连续1的个数,还需要一个变量来存储遇到0之前的计数器的值,定义为max。如果计数器的值大于max,就让max等于计数器。
代码
public class MaxnumOf1 {
public static void main(String[] args) {
}
public int findMaxConsecutiveOnes(int[] nums) {
//定义变量存储最大1的个数
int max = 0;
//定义计数器,计算遇到的1的个数
int count = 0;
//迭代遍历整个数组
for(int v : nums){
//遇到的是1,count++,否则比较max和count的值,并且count归零
if(v == 1){
count++;
}else{
max = Math.max(max,count);
count = 0;
}
}
//如果数组最后是1,需要再次判断count和max的值
max = Math.max(max,count);
return max;
}
}