Welcome to Subscribe On Youtube

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) } } 

All Problems

All Solutions