题解 | #合唱队形#正反两次最长递增字序列

合唱队形

https://www.nowcoder.com/practice/cf209ca9ac994015b8caf5bf2cae5c98

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] nums1 = new int[n];
        int[] nums2 = new int[n];
        for (int i = 0; i < n; i++) {
            nums1[i] = sc.nextInt();
            nums2[n - 1 - i] = nums1[i];
        }
        int[] dp1 = new int[n];
        int[] dp2 = new int[n];
        for (int i = 0; i < n; i++) {
            dp1[i] = 1;
            dp2[i] = 1;
            for (int j = 0; j < i; j++) {
                if (nums1[j] < nums1[i] && dp1[j] + 1 > dp1[i]) {
                    dp1[i] = dp1[j] + 1;
                }
                if (nums2[j] < nums2[i] && dp2[j] + 1 > dp2[i]) {
                    dp2[i] = dp2[j] + 1;
                }
            }
        }
        int result = 0;
        for (int i = 0; i < n; i++) {
            if (dp1[i] + dp2[n - 1 - i] > result) {
                result = dp1[i] + dp2[n - 1 - i];
            }
        }
        System.out.println(n - result + 1);
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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