题干:
代码:
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
if(nums.size() <= 1)return nums.size();
vector<int>dp(nums.size(), 1);
int res = 0;
for(int i = 1; i < nums.size(); i++){
if(nums[i] > nums[i - 1]) dp[i] = dp[i - 1] + 1;
if(dp[i] > res) res = dp[i];
}
return res;
}
};
dp[i]定义为以i结尾的最长连续子序列,如果nums[i] > nums[i - 1]则说明递增,dp[i]一定是dp[i - 1] + 1,最后把最长的那个输出即可(不同结尾长度不同,不一定是最后一个最长)。