# 485. Max Consecutive Ones

## Description

Given a binary array nums, return the maximum number of consecutive 1's in the array.

Example 1:

Input: nums = [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.


Example 2:

Input: nums = [1,0,1,1,0,1]
Output: 2


Constraints:

• 1 <= nums.length <= 105
• nums[i] is either 0 or 1.

## Solutions

• class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int cnt = 0, ans = 0;
for (int v : nums) {
if (v == 1) {
++cnt;
} else {
ans = Math.max(ans, cnt);
cnt = 0;
}
}
return Math.max(cnt, ans);
}
}

• class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int cnt = 0, ans = 0;
for (int v : nums) {
if (v == 1) {
++cnt;
} else {
ans = max(ans, cnt);
cnt = 0;
}
}
return max(ans, cnt);
}
};

• class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
cnt = ans = 0
for v in nums:
if v == 1:
cnt += 1
ans = max(ans, cnt)
else:
cnt = 0
return ans

##############

# hehe
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
return max( len(s) for s in ''.join( str(x) for x in nums ).split('0') )


• func findMaxConsecutiveOnes(nums []int) int {
ans, cnt := 0, 0
for _, v := range nums {
if v == 1 {
cnt++
} else {
ans = max(ans, cnt)
cnt = 0
}
}
return max(ans, cnt)
}

• function findMaxConsecutiveOnes(nums: number[]): number {
let res = 0;
let count = 0;
for (const num of nums) {
if (num === 0) {
res = Math.max(res, count);
count = 0;
} else {
count++;
}
}
return Math.max(res, count);
}


• /**
* @param {number[]} nums
* @return {number}
*/
var findMaxConsecutiveOnes = function (nums) {
let res = 0,
t = 0;
for (let num of nums) {
if (num == 1) {
++t;
} else {
res = Math.max(res, t);
t = 0;
}
}
return Math.max(res, t);
};


• class Solution {
/**
* @param Integer[] $nums * @return Integer */ function findMaxConsecutiveOnes($nums) {
$tmp =$max = 0;
for ($i = 0;$i < count($nums);$i++) {
if ($nums[$i] == 1) {
$tmp++; } else {$max = max($tmp,$max);
$tmp = 0; } } return max($tmp, \$max);
}
}

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