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
and1
. - The length of input array is a positive integer and will not exceed 10,000
没啥说的,比较简单
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
if(nums == null || nums.length == 0)
return 0;
int i = 0;
int j = 0;
while(i < nums.length && nums[i] == 0)
i++;
if(i == nums.length)
return 0;
j = i;
int res = 0;
while(j < nums.length) {
while(j < nums.length && nums[j] == 1)
j++;
res = Math.max(res, j - i);
i = j;
while(i < nums.length && nums[i] == 0)
i++;
j = i;
}
return res;
}
}