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 contain0and1.
  • The length of input array is a positive integer and will not exceed 10,000

没啥说的,比较简单

class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        if(nums == null || nums.length == 0)
            return 0;

        int i = 0;
        int j = 0;

        while(i < nums.length && nums[i] == 0)
            i++;
        if(i == nums.length)
            return 0;

        j = i;
        int res = 0;

        while(j < nums.length) {
            while(j < nums.length && nums[j] == 1)
                j++;

            res = Math.max(res, j - i);
            i = j;

            while(i < nums.length && nums[i] == 0)
                i++;
            j = i;
        }

        return res;
    }
}

results matching ""

    No results matching ""