LeetCode题解之Longest Increasing Subsequence
1、题目描述
2、题目分析
使用动态规划,在计算以每个字符结尾的最长子序列。
3、代码
1 int lengthOfLIS(vector<int>& nums) { 2 if(nums.size() == 0){ 3 return 0; 4 } 5 6 vector<int> dp(nums.size() , 1); 7 int maxans = 1; 8 for(int i = 1; i < nums.size(); i++){ 9 int maxval = 0; 10 for( int j = 0; j < i; j++){ 11 if(nums[i] > nums[j]){ 12 maxval = max(dp[j], maxval); 13 } 14 } 15 dp[i] = maxval + 1; 16 maxans = max(dp[i], maxans); 17 } 18 19 return maxans; 20 }
pp