Question

Formatted question description: https://leetcode.ca/all/485.html

 485. 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

Algorithm

You can traverse the array and use a counter cnt to count the number of 1s. The method is if the current number is 0, then cnt is reset to 0, if it is not 0, cnt is incremented by 1, and then the result res can be updated every time.

Code

Java

public class Max_Consecutive_Ones {

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

}

All Problems

All Solutions