int lengthOfLIS(vector<int>& nums) {
if(nums.empty()) return 0;
int len = nums.size();
vector<int> dp(len,1);
int ans = 1;
for(int i = 0;i<len;i++)
{
for(int j = 0;j<i;j++) //j是i之前的数
{
if(nums[i]>nums[j])
{
dp[i] = max(dp[i],dp[j]+1); //找出以不同j结尾的最大数
}
if(dp[i]>ans) ans = dp[i];
}
}
return ans;
}
参考
https://blog.csdn.net/Uupton/article/details/80585764