【Leetcode刷题Python】674. 最长连续递增序列
1 题目
给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。
连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。
示例 1:
输入:nums = [1,3,5,4,7]
输出:3
解释:最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。
示例 2:
输入:nums = [2,2,2,2,2]
输出:1
解释:最长连续递增序列是 [2], 长度为1。
2 解析
动态规划:
状态:当前位置的最长子序列,dp[i]
状态转移,当前位置的元素大于前一个元素,当前位置的状态等于,前一个状态加一
d
p
[
i
]
=
d
p
[
i
−
1
]
+
1
dp[i] = dp[i-1]+1
dp[i]=dp[i−1]+1
3 python实现
class Solution:
def findLengthOfLCIS(self, nums: List[int]) -> int:
dp =[1]*len(nums)
for i in range(1,len(nums)):
if nums[i]>nums[i-1]:
dp[i] = dp[i-1]+1
return max(dp)
相关文章
- 羊了个羊,但是Python简(li)单(pu)版
- 如何为pycharm配置Python解释器_pycharm选择python解释器
- 【愚公系列】2022年09月 python人工智能-PyTorch环境配置及安装
- python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)[通俗易懂]
- python解压bz2文件命令,在Python中解压缩.bz2文件
- 符合python命名规范的标识符是什么_Python标识符命名规范
- python基础(3)列表list
- python读取pkl_Python读取文件的一段内容
- python语言关键字是_Python 关键字
- Python保存json_python保存json文件
- PYTHON主机_我的Python世界PDF
- Python安装失败_python第三方库安装失败
- Python进阶之递归算法详解
- 【错误记录】PyCharm 运行 Python 程序报错 ( UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in positio )
- Python 第一次作业及解答
- python多父类继承示例详解编程语言
- Python学习之路 (三)爬虫(二)详解编程语言
- python实现时间o(1)的最小栈详解编程语言
- 在Python中简单调用MySQL(python调用mysql)
- Python列表(List)操作方法详解