485. 最大连续1的个数
Posted 人间烟火地三鲜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了485. 最大连续1的个数相关的知识,希望对你有一定的参考价值。
思路:
1、处理好len(nums) < 2时的情形;
2、用指针i遍历nums,用ans[]存放每一串连续1的长度,用计数器count记录:
i指向的是1则计数器加1;
i指向的不是1且前一位是1,则将计数器值添加到ans[]中,并清空计数器;
3、返回max(ans)。
1 class Solution(object): 2 def findMaxConsecutiveOnes(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: int 6 """ 7 count = 1 if nums[0] == 1 else 0 8 ans = [] 9 if len(nums) == 1: 10 ans.append(count) 11 for i in range(1, len(nums)): 12 if nums[i] == 1: 13 count += 1 14 elif nums[i - 1] == 1 and nums[i] != 1: 15 ans.append(count) 16 count = 0 17 if i == len(nums) - 1: 18 ans.append(count) 19 return max(ans) 20 21 22 if __name__ == \'__main__\': 23 solution = Solution() 24 print(solution.findMaxConsecutiveOnes([1, 1, 0, 1, 1, 1]))
以上是关于485. 最大连续1的个数的主要内容,如果未能解决你的问题,请参考以下文章