0314-2020-LEETCODE-300-上昇最長シーケンス - 古典的な問題DP

状態遷移式で、DP []配列を維持する:DPを[I] = Math.max(DP [I]、DP [J] +1)、実装された場合時の状態遷移方程式NUM [J] NUMS [I]>条件を満たさない場合、この時間jをスキップし、動作しません。サイクル間隔(0、I)は、Jです。

	//经典的动态规划问题:DP解决。
    public int lengthOfLIS1(int[] nums) {
        if (nums.length == 0){
            return 0;
        }
        int[] dp = new int[nums.length];
        Arrays.fill(dp,1);
        int res = 0;
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < i; j++) {
                if (nums[j] < nums[i]){
                    dp[i] = Math.max(dp[i],dp[j] + 1);
                }
            }
            res = Math.max(res,dp[i]);
        }
        return res;
    }
公開された98元の記事 ウォンの賞賛0 ビュー2199

おすすめ

転載: blog.csdn.net/weixin_43221993/article/details/104869080