用动态规划法做,dp为到当前这个值最大的递增子序列长度
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
if(nums.size()<=1)return nums.size();
int result;
vector<int>dp(nums.size(),1);
for(int i=1;i<nums.size();i++)//遍历整个数组
{
for(int j=0;j<i;j++)//遍历前面到i这个下标的最长递增子序列
{
if(nums[i]>nums[j])dp[i]=max(dp[i],dp[j]+1);//若当前数大于前面的数,更新他的dp值
}
if(dp[i]>result)result=dp[i];
}
return result;
}
};