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

Rust Solution

struct Solution;

impl Solution {
    fn find_max_consecutive_ones(nums: Vec<i32>) -> i32 {
        let mut max = 0;
        let mut count = 0;
        for x in nums {
            if x == 1 {
                count += 1;
                max = i32::max(count, max);
            } else {
                count = 0;
            }
        }
        max
    }
}

#[test]
fn test() {
    let nums = vec![1, 1, 0, 1, 1, 1];
    assert_eq!(Solution::find_max_consecutive_ones(nums), 3);
}

Having problems with this solution? Click here to submit an issue on github.