原题链接在这里:https://leetcode.com/problems/max-consecutive-ones/
题目:
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
题解:
iterate nums, 是1, curMax++, 否则curMax 清0, 时刻维护最大值.
Time Complexity: O(nums.length). Space: O(1).
AC Java:
1 public class Solution { 2 public int findMaxConsecutiveOnes(int[] nums) { 3 int res = 0; 4 int curMax = 0; 5 for(int num : nums){ 6 curMax = num == 1 ? curMax+1 : 0; 7 res = Math.max(res, curMax); 8 } 9 return res; 10 } 11 }