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的个数的主要内容,如果未能解决你的问题,请参考以下文章

485-最大连续1的个数

LeetCode(485. 最大连续1的个数)

485. 最大连续1的个数

485. 最大连续1的个数

LeetCode刷题485-简单-最大连续1的个数

LeetCode刷题485-简单-最大连续1的个数