674. 最长连续递增序列(Python)

题目

难度:★☆☆☆☆
类型:数组

给定一个未经排序的整数数组,找到最长且连续的的递增序列。

示例

示例 1
输入: [1,3,5,4,7]
输出: 3
解释: 最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。

示例 2
输入: [2,2,2,2,2]
输出: 1
解释: 最长连续递增序列是 [2], 长度为1。
注意:数组长度不会超过10000。

解答

遍历数组,查看所有的连续递增子序列,并及时记录连续递增子序列的最大值,这里需要注意遍历的范围和变量的初始化。

class Solution:
    def findLengthOfLCIS(self, nums):
        if not nums:        
            return 0

        res = 1                             # 初始化结果变量
        cur_len = 1                         # 初始化当前连续递增长度
        for i in range(1, len(nums)):       # 遍历
            if nums[i-1] < nums[i]:         # 如果发现递增对
                cur_len += 1                # 长度+1
                res = max(cur_len, res)     # 更新结果
            else:                           # 遇到非递增对
                cur_len = 1                 # 重置当前连续递增长度
        return res
    ```

如有疑问或建议,欢迎评论区留言~
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容