15 Jun 2024
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 <= 105nums[i] is either 0 or 1.循环,非零计和,遇零清零。清零前更新最大连续值。
这样应该能做到时间复杂度O(n),空间复杂度O(1)
class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: result = 0 tmp_ret = 0 for num in nums: if num == 0: tmp_ret = 0 continue tmp_ret += num result = max(tmp_ret, result) return result