类别:数组 数组的遍历
题目:
想法:
初始化
sum记录连续1的个数
maxsum记录最大连续1的个数
从头开始遍历数组
若为1,则sum++,若sum>=maxsum,则替换
若为0,则将sum置0
遍历完毕,得到maxsum
代码:
C
int findMaxConsecutiveOnes(int* nums, int numsSize){
int maxsum=0;
int sum=0;
for(int i=0;i<numsSize;i++){
if(nums[i]!=1){
if(sum>=maxsum)
maxsum=sum;
sum=0;
}else{
sum++;
}
}
if(sum>=maxsum)
maxsum=sum;
return maxsum;
}
Java
class Solution
{
public int findMaxConsecutiveOnes(int[] nums)
{
int sum=0;
int max=0;
int i=0;
while(i<nums.length){
if(nums[i]!=1){
if(sum>max)
max=sum;
sum=0;
}else{
sum++;
}
i++;
}
if(sum>max)
return sum;
return max;
}
}