给定一个二进制数组 nums
, 计算其中最大连续 1
的个数。
示例 1:
输入:nums = [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1] 输出:2
一道简单难度的leetcode题目,我采用了这样的解法:
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int count = 0 ;
int maxValue = 0;
//List<Integer> countValue = new ArrayList<>() ;
for(int i=0;i<nums.length;i++){
if(nums[i]==1){
count ++;
}else{
if(count >maxValue){
maxValue = count;
}
count =0;
}
}
if(count>maxValue){
maxValue = count;
}
return maxValue;
}
}
就是统计1的个数,然后求个数的最大值,提交运行后,此解法效果:
定睛一看,时间上击败了100%使用java的用户,时间复杂度是o(n),空间复杂度上面依然需要改进。