https://leetcode.cn/problems/longest-increasing-subsequence/?envType=study-plan-v2&envId=top-100-liked
300. 最长递增子序列
已解答
中等
相关标签
相关企业
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的
子序列
。
dp[i]为下标为i的元素作为子串的最后一个元素
dp[i]=max(dp[j])+1
class Solution {public int lengthOfLIS(int[] nums) {int[] dp = new int[nums.length];dp[0]=1;int max=1;for(int i=1; i<nums.length; i++){dp[i]=1;for(int j=0;j<i;j++){if(nums[i]>nums[j]){dp[i]=Math.max(dp[i],dp[j]+1);}}max=Math.max(max,dp[i]);}return max;}
}