最长递增子序列
子序列包含子数组!
说白了,要用到双层循环!
用双层循环中的dp[i]和dp[j]把所有子序列情况考虑到位
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
vector<int> dp(nums.size(),1);
for(int i =0;i<nums.size();i++)
{
for(int j=0;j<i;j++)
{
if(nums[i]>nums[j])
{
dp[i] = max(dp[j]+1,dp[i]);
}
}
}
int ret =0;
for(auto &e:dp)
{
ret=max(ret,e);
}
return ret;
}
};