给定一个未经排序的整数数组,找到最长且连续的的递增序列。
思路
连序的子序列,所以,这个问题当前的状态依赖于之前的状态,
当nums[i] > nums[i] - 1的时候可以累加,
否则就从头开始。
而一个变量n就可以代表这个问题了。
代码
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
if (nums.size() == 0) return 0;
vector<int> dp(nums.size(),1);
int ans = 1;
for (int i = 1; i < nums.size(); i++) {
if (nums[i] > nums[i - 1]) dp[i] = dp[i-1] + 1;
ans = max(ans, dp[i]);
}
return ans;
}
};

京公网安备 11010502036488号