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 and 1.
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; } }