leetcode 300 最长上升子序列(java hard 动态规划)

leetcode 300 最长上升子序列(java hard 动态规划)_第1张图片

主要思路还是

dp[i]表示以i为结尾的最长上升序列的长度 ,要和dp[i]+1进行比较,j在0-(i-1)的范围

 leetcode 300 最长上升子序列(java hard 动态规划)_第2张图片

class Solution {
    public int lengthOfLIS(int[] nums) {
        if(nums.length==0||nums.length==1){
            return nums.length;
        }
        int[]dp=new int[nums.length];
        int LIS=1;
        dp[0]=1;
        for(int i=1;inums[j]&& dp[i]LIS)
                    LIS=dp[i];
            }
        }
        return LIS;
    }
}

 

你可能感兴趣的:(算法,leetcode)