/*
dp[n]:以第n个元素结尾的最大子序列的值
所以说dp[n]应该与前面的所有dp[n-1]--dp[0]都与有关,从里面选出一个最大的dp,然后
加上n的本身(如果nums[n]大的话)
*/
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
vector<int> dp(nums.size()+1,1);
int max_num=1;
for(int i=1;i<nums.size();i++){
for(int j=0;j<i;j++){//和前面的都比较一下
if(nums[i]>nums[j]){
dp[i]=max(dp[i],dp[j]+1);
max_num=max(dp[i],max_num);
}
}
}
return max_num;
}
};