题目描述
给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
题解
只需要遍历一次,遇到1就计数加1,遇到零就比较max存储上一次计数的值,并让计数加1即可,遍历完了再最后比较一次即可。
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int n=0;
int count=0;
for(int i=0;i<nums.length;i++){
if(nums[i]==0){
count=0;
}
if(nums[i]==1){
count++;
}
if(count>n){
n=count;
}
}
return n;
}
}
用时3ms。