バイナリ配列を指定して、その中のnums
最大の連続数値を計算します。1
例 1:
入力: nums = [1,1,0,1,1,1] 出力: 3 説明:最初の 2 桁と最後の 3 桁は連続する 1 であるため、連続する 1 の最大数は 3 です。
例 2:
入力: nums = [1,0,1,1,0,1] 出力: 2
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
dp = [0] * (len(nums)+1) # 初始化
for i in range(len(nums)): # 开始遍历
if nums[0] == 1: # 特殊情况,特殊处理
dp[0] = 1
if nums[i] == 1 and i > 0: # 一般情况处理
dp[i] = dp[i-1] + 1
elif nums[i] == 0:
dp[i] = 0
return max(dp)