题目描述
给定一个二进制数组, 计算其中最大连续1的个数。
方法一:设置计数
每遇到1,计数家一,遇到0计数置零,更新结果为最大的计数。
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
ans, count = 0, 0
for i in range(len(nums)):
if nums[i] == 1:
count += 1
else:
count = 0
ans = max(ans,count)
return ans
方法二:利用python内置函数
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
# 列表拼接为字符串
string = ''.join(str(x) for x in nums)
# 以0分割字符串,返回list
# 注意此处每两个0之间也会被分割为‘’
n = string.split('0')
# return max(list(map(lambda x:len(x),n)))
return max(len(sub) for sub in n )