LeetCode 485. Max Consecutive Ones

原题链接在这里: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 and 1.
  • 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 }

跟上Max Consecutive Ones II.

posted @ 2017-01-31 07:19  Dylan_Java_NYC  阅读(373)  评论(0编辑  收藏  举报