LeetCode之Max Consecutive Ones
1、题目
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
2、代码实现
public class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
if (nums == null) {
return 0;
}
int zero = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == 0) {
++zero;
}
}
if (zero == nums.length) {
return 0;
}
int count = 0;
int maxValue = 0;
int maxLength = 0;
for (int i = 0; i < nums.length; ++i) {
if (nums[i] > maxValue) {
maxValue = nums[i];
}
}
for (int i = 0; i < nums.length; ++i) {
if (nums[i] == maxValue) {
for (int j = i; j < nums.length; ++j) {
if (nums[j] == maxValue) {
count++;
} else {
break;
}
}
if (maxLength < count) {
maxLength = count;
}
count = 0;
}
}
return maxLength;
}
}
赞 (0)