Description:

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
Accepted
152,456
Submissions
274,424

Solution:

class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {

        int max_cur = Integer.MIN_VALUE;
        int count = 0;

        if(nums.length==1&&nums[0]==1){
            return 1;
        }

        for(int i = 0; i<nums.length; i++){

            if(nums[i] == 1){

                count++;
            }

            else{
               //  System.out.println("Check now"+ i + " "+count+" max "+ max_cur);
                if(count>max_cur){

                    max_cur = count;

                    //System.out.println("Check "+ i + " "+ max_cur);

                }
                 count = 0;

            }

        }

        return max_cur>count? max_cur: count ;

    }
}

 

01-23 17:17