LeetCode674. 最长连续递增序列


题目

代码

线性dp

 1 class Solution {
 2 public:
 3     int findLengthOfLCIS(vector<int>& nums) {
 4         if(nums.size() <= 1) return nums.size();
 5         vector<int>dp(nums.size()+1,1);
 6         int res = 0;
 7         for(int i = 1;i ){
 8             if(nums[i] > nums[i-1]) dp[i] = dp[i-1] + 1;
 9             res = max(res,dp[i]);
10         }
11         return res;
12     }
13 };

贪心

 1 class Solution {
 2 public:
 3     int findLengthOfLCIS(vector<int>& nums) {
 4         if(nums.size() <= 1) return nums.size();
 5         int cnt = 1,res = 1;
 6         for(int i = 1;i < nums.size();i++){
 7             if(nums[i] > nums[i-1]) cnt++;
 8             else cnt = 1;
 9             res = max(res,cnt);
10         }
11         return res;
12     }
13 };