class Solution {
public int lengthOfLIS(int[] nums) {
if (nums.length == 0){
return 0;
}
int[] dp = new int[nums.length];
int max = 0;
for (int j = 0; j < nums.length; j++){
dp[j] = lis(dp,j,nums);
max = Math.max(dp[j],max);
}
return max + 1;
}
private int lis(int[] dp, int j, int[] nums){
int num = 0;
for (int i = 0; i < j; i++){
if (nums[i] < nums[j]){
num = Math.max(dp[i] + 1,num);
}
}
return num;
}
}
LeetCode-300. 最长上升子序列
最新推荐文章于 2022-12-11 10:13:50 发布