leetcode--最长连续递增序列--python
2019-05-20 15:53
801 查看
文章目录
题目
题目详情
给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例
输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3。 尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。
输入: [2,2,2,2,2] 输出: 1 解释: 最长连续递增序列是 [2], 长度为1。
注意:数组长度不会超过10000。
解题思路
思路
- 递增的话就想到很久之前做的一道题,最大利益,就是有利可图
- 那么只要后面一个数大于前面一个数就是递增,否则不成立
- 那么结果用两个flag来比较,较大的为最终结果
代码
class Solution: def findLengthOfLCIS(self,nums): if not nums:return 0; #判断事都为空 flag = 1 new_flag = 1 for i in range(len(nums)-1): if nums[i+1]>nums[i]: #判断是否为递增 flag += 1 new_flag = max(flag,new_flag) #最大的递增序列 else: #不为递增 flag = 1 return new_flag if __name__ == "__main__": obj = Solution() st = [1,3,5,4,7] obj.findLengthOfLCIS(st)
运行结果
最佳方案
40ms
class Solution: def findLengthOfLCIS(self, nums: 'List[int]') -> 'int': if not nums: return 0 res = 1 cnt = 1 for i in range(1,len(nums)): if nums[i-1]>=nums[i]: cnt = 1 else: cnt+=1 res = max(res,cnt) return max(res,cnt)
相关文章推荐
- 【LeetCode】Python实现-674. 最长连续递增序列
- [LeetCode] 674. Longest Continuous Increasing Subsequence 最长连续递增序列
- leetcode674. 最长连续递增序列
- 利用python 完成 leetcode128 最长连续序列
- [LeetCode] Longest Continuous Increasing Subsequence 最长连续递增序列
- LeetCode 最长连续递增序列
- 用python写leetcode【16】 -- 最长连续序列(230)
- LeetCode--Longest Consecutive Sequence(最长连续序列)Python
- LeetCode 674. Longest Continuous Increasing Subsequence (最长连续递增序列)
- 得到最长连续递增序列
- python返回连续递增子序列的长度
- [LeetCode] 673. Number of Longest Increasing Subsequence 最长递增序列的个数
- 二元组最长递增子序列 -- leetcode 354. Russian Doll Envelopes
- [Leetcode] Longest consecutive sequence 最长连续序列
- Leetcode#674. Longest Continuous Increasing Subsequence(最长连续递增子序列的长度))
- leetcode 最长连续序列 longest consecutive sequence
- leetcode 128.最长连续序列
- [LeetCode] Longest Consecutive Sequence 求最长连续序列
- leetcode 674. Longest Continuous Increasing Subsequence 最长递增连续子序列
- LeetCode 128. Longest Consecutive Sequence(最长连续序列)