leetcode 485 python
来源:互联网 发布:linux多线程编程 编辑:程序博客网 时间:2024/06/07 23:51
Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
Input: [1,1,0,1,1,1]Output: 3Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.Note:
- The input array will only contain
0
and1
. - The length of input array is a positive integer and will not exceed 10,000
class Solution(object): def findMaxConsecutiveOnes(self, nums): """ :type nums: List[int] :rtype: int """ answer = 0 count = 0 s = 0 a = len(nums) print (a) for x in range(1,a+1): if s != a-1 and nums[s] ==1 : count = count + 1 print (count) elif nums[s] ==0: if answer < count: answer = count count = 0 elif s == a-1 and nums[s] ==1: count = count + 1 if answer < count: answer = count count = 0 s = s + 1 return answer
第一想法就是动态规划。找到目前的连续的串和过去连续的串的最大值,设为曾经最大的串。
故,设置count代表现在连续的串,anwer为过去连续的值得最大值。转移方程就是求两者的最大值。
有个技巧,就是判断count和answer最大值得时候,注意到count要包括末尾的连续的1的个数,而不仅仅是遇到0停止。所以设置的是循环变量到了nums.length,超出了数组的clength,这样的时候就使停止的判断有两个,遇到0和超出数组长度。
class Solution(object): def findMaxConsecutiveOnes(self, nums): """ :type nums: List[int] :rtype: int """ cnt = 0 ans = 0 for num in nums: if num == 1: cnt += 1 ans = max(ans, cnt) else: cnt = 0 return ans
0 0
- leetcode 485 python
- leetcode python
- leetcode python
- leetcode python
- leetcode python
- leetcode python
- leetcode python
- leetcode python
- leetcode python
- leetcode python
- [leetcode: Python]
- 【LeetCode with Python】 Permutations
- Leetcode Python Palindrome Number
- LeetCode-Sort List(Python)
- 【LeetCode with Python】 Subsets
- [leetcode]LRU Cache (python)
- 【leetcode】Reorder List (python)
- 【leetcode】Candy(python)
- 《天天魔塔》源码下载
- RegOpenKeyEx和RegCreateKeyEx函数
- hql和sql练习题
- 设计模式:代理设计模式
- Linux(Ubuntu)系统下安装Qt library和Qt Creator全过程记录
- leetcode 485 python
- 19、C++成绩统计
- 类与类之间的几种关系
- MapReduce的Shuffle过程介绍
- angularjs2--tab页调用父页面的方法
- python最简单的爬虫
- 插入排序
- [BZOJ1998][Hnoi2010]Fsk物品调度(置换群+并查集)
- Node.js request实现技术灌水