Description
Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
Input: [1,1,0,1,1,1]
Output: 3
Explanation: The first two digits or the last three digits are consecutive 1s.
The maximum number of consecutive 1s is 3.
Note:
The input array will only contain 0 and 1.
The length of input array is a positive integer and will not exceed 10,000
Solution
因为只包含0和1,可以利用sum来统计个数。
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int maxOnes = 0;
int sum = 0;
for (int n : nums) {
if (n == 0) {
maxOnes = Math.max(maxOnes, sum);
sum = 0; // reset sum to 0
} else {
++sum;
}
}
maxOnes = Math.max(maxOnes, sum);
return maxOnes;
}
}