题解 | 最长不下降子序列

最长不下降子序列

https://www.nowcoder.com/practice/25da45d0d4fb4faba45094cbb0649062

import java.util.Scanner;

import java.io.*;

//讲个笑话这题写地时候没用脑子
//这不就是最长严格上升子序列吗?
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(new BufferedInputStream(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int n = in.nextInt();
        int[] nums = new int[n + 1];
        //i结尾
        int[] dp = new int[n + 1];
        for (int i = 1; i <= n; i++) {
            nums[i] = in.nextInt();
        }
        int ans =0;
        for(int i =1;i <=n;i++){
            dp[i] = 1;
            for(int j = 1;j < i; j++){
                if(nums[j] <= nums[i]){
                    dp[i] = Math.max(dp[i],dp[j]+1);
                }
            }
            if(dp[i] > ans){
                ans = dp[i];
            }
        }
        out.println(ans);
        out.flush();
    }
}

全部评论

相关推荐

肥肠椒绿:双非本可不就犯天条了,双非本就应该打入无间地狱
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务