代码:
- 解法一
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
if(nums==null||nums.length==0){ //数组不存在 或者数组为空
return -1;
}
int maxCount=0;
for(int i=0;i<nums.length;){ //遍历数组
if(nums[i]==1){ //元素为1时 判断其后面相邻值为1的元素的个数
int count=1;
for(int j=i+1;j<nums.length;j++){ //判断后面相邻的元素
if(nums[j]==1){
count++;
}else{
break;
}
}
if(maxCount<count){ //如果count>maxCount 将count赋值给maxCount
maxCount=count;
}
i=i+count; //这次连续的1判断完成后 判断后面的有
}else{ //如果该元素的值不为1,则直接i向后移
i++;
}
}
return maxCount; //返回需要的结果
}
}
- 别人的代码
//思路类似于解法一
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int n=nums.length;
if(n==0)
return 0;
int flag=0;
int a=0;
for (int i = 0; i <n ; i++) {
if(nums[i]==1)
flag++;
else
flag=0;
if(flag>a)
a=flag;
}
return a;
}
}
2838



被折叠的 条评论
为什么被折叠?



