本题是一道简单题目
- dp[i] 表示 0 - i 的最长连续递增序列的长度
- 递推公式 当nums[i] > nums[i - 1]时,那么dp[i] 的值便是 dp[i - 1] + 1;if(nums[i] > nums[i - 1]){dp[i] += dp[i - 1];}
- 初始化时,将dp[i]都初始化为 1,表示从 i位置开始,只有 i ,它的最大连续递增序列便是1,这样在递推时,dp[i] 就只需 加上 dp[i - 1] 就可以了
- dp[i] 与 dp[i - 1]有关,所以需要从前向后遍历
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
vector<int> dp(nums.size(), 1);
int maxlen = 1;
if(nums.size() == 1){
return maxlen;
}
for(int i = 1; i < nums.size(); i++){
if(nums[i] > nums[i - 1]){
dp[i] += dp[i - 1];
}
if(dp[i] > maxlen){
maxlen = dp[i];
}
}
return maxlen;
}
};