美文网首页leetcode刷题之路(python)程序员
LeetCode刷题之路 最长连续递增序列

LeetCode刷题之路 最长连续递增序列

作者: 小北写码 | 来源:发表于2019-02-12 10:56 被阅读27次

    最长连续递增序列【简单】

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

    示例 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。


    解题思路

    定义两个变量n和maxn,分别存储本次递增长度和所有的最大递增长度。对列表进行遍历,得到当前递增长度,和最大递增长度进行比较,并根据条件替换最大递增长度的值,最后返回最大递增长度。注意不要忘了空列表的情况。下面是这道题的代码:

    class Solution(object):
        def findLengthOfLCIS(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            if nums == []:
                return 0
            n = 1
            maxn = 1
            for i in range(0,len(nums)-1):
                if nums[i+1] > nums[i]:
                    n = n + 1
                else:
                    if n > maxn:
                        maxn = n
                    n = 1
            if n > maxn:
                maxn = n
            return maxn
    

    相关文章

      网友评论

        本文标题:LeetCode刷题之路 最长连续递增序列

        本文链接:https://www.haomeiwen.com/subject/jymheqtx.html