题目链接:力扣s 思路:动态归划 定义dp数组:设 dp[i] 是以nums[i]结尾的最大递增子序列的长度 状态转移方程:dp[i]=max{dp[j]}+1,当nums[i]>nums[j],0<=j<i 出口: dp[0]=1 登录后复制 class Solution { public: int lengthOfLIS(vector<int>& nums) { vector<int>dp(nums.size()); //注意nums为0的情况 if(nums.size()==1) return 1; dp[0]=1; int max_length=0; for(int i=1;i<nums.size();i++) { int max_l=0; for(int j=0;j<i;j++) { if(nums[j]<nums[i]) max_l=max(max_l,dp[j]); } dp[i]=max_l+1; max_length=max(max_length,dp[i]); } return max_length; } }; 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24. 原创作者: u_16969274 转载于: https://blog.51cto.com/u_16969274/11813266