Max Consecutive Ones

Problem

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

Solution

Easy and straightforward solution

public class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        int count = 0; int res = 0;
        for (int num : nums) {
            if (num == 1) {
                count++;
                res = Math.max(res, count);
            } else count = 0;
        }
        return res;
    }
}

More Concise solution, same idea

public class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        int res = 0, count = 0;
        for (int num : nums) {
            res = Math.max(res, count = num == 0 ? 0 : count + 1); //code show 
        }
        return res;
    }
}

Analysis

Very easy problem no need to explain more
Notice that, however, we can assign values in Math.max() and get the return values of it to compare

results matching ""

    No results matching ""