LeetCode 最长连续递增序列

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

示例 1:

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

最长连续递增子序列,解法就直接模拟,从1-n,要是a[i]<a[i+1],长度加一,碰到a[i]>=a[i+1]就更新最长的递增序列长度
class Solution {
public:
    int findLengthOfLCIS(vector<int>& nums) {
        int n=nums.size();
        if(n==0)
            return 0;
        int ans=0;
        int tempans=1;
        for(int i=0;i<n-1;i++)
        {
            if(nums[i]<nums[i+1])
                tempans++;
            else
            {
                if(tempans>ans)
                    ans=tempans;
                tempans=1;
            }
        }
        return max(ans,tempans);
    }
};

最长上升子序列,可以不连续,就是dp来做了,具体可以看简单dp思想。

posted @ 2019-03-25 17:06  从让帝到the_rang  阅读(868)  评论(0编辑  收藏  举报