LeetCode 485.最大连续1的个数
题目描述
给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
解题思路
两个数,一个用来计连续1的个数,遇到0时判断两个数谁大,计数指针大则存在另一数中,最后返回该数
代码实现
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
if (nums.length==0)return 0;
int count=0,count1=0;
for(int i=0;i<nums.length;i++){
if(nums[i]==1){
count++;
}
else {
if(count1<count){count1=count;count=0;}
else count=0;
}
// count=0;
// System.out.println(count+" "+count1);
if(nums[i]==0){System.out.println(count+" "+count1);}
}
System.out.println(count+" "+count1);
if(count1==0&&count!=0)count1=count;
else if(count1<count)count1=count;
return count1;
}
}
时间和空间效率还是比较低啊