动态规划_最长不下降子序列

package com.zmy.LIS;

import java.util.Scanner;

public class LIS {
    public static void main(String[] args) {
//        int[] A = {0,1, 2, 3, -9, 3, 9, 0, 11};
        int[] dp = new int[100];
        int[] A = new int[100];

        int n = 8;
        Scanner in = new Scanner(System.in);
        // 输入的数组从下标 1 开始
        for (int i = 1; i <= n; i++) {
            A[i] = in.nextInt();
        }

        int ans = -1;
        for (int i = 1; i <= n; i++) {
            dp[i] = 1;
            for (int j = 1; j < i; j++) {
                if (A[i] >= A[j] && (dp[j] + 1 > dp[i])) {
                    dp[i] = dp[j] + 1;
                }
            }
            ans = Math.max(ans, dp[i]);
        }
        System.out.println(ans);
    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容