问题描述:
Given a binary array nums, return the maximum number of consecutive 1’s in the array. 最长连续的1
思路:
思路有好多种,可以利用数值特征用偏数学计算的方法,也可以用双指针。这里我采用前者:
遇到1就加和,遇到零就清空和,最大的和就是最长的1
代码:
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int counter = 0;
int sum = 0;
for (int i=0; i<nums.length; i++){
if (nums[i]!=1){
counter = Math.max(counter,sum);
sum = 0;
}
else{
sum++;
}
}
return Math.max(counter,sum);
}
}
时间复杂度:O(n)