- 求一个数组的最长第怎子序列
- [10, 9, 2, 5, 3, 7, 101, 18]的最长第怎子序列是:[2, 3, 7, 101],注意递增的序列可以不是连续的
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
if(nums.size() <= 1) return nums.size();
vector<int> dp(nums.size(), 0);
int maxVal = 1;
for(int i = 0; i < nums.size(); ++i){
dp[i] = 1;
for(int j = 0; j < i; ++j){
if(nums[j] < nums[i]){
dp[i] = max(dp[i], dp[j]+1);
maxVal = max(dp[i], maxVal);
}
}
}
return maxVal;
}
};