题解 | #合唱队#

合唱队

https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int num = scanner.nextInt();
            int[] intarr = new int[num];
            for (int i = 0; i < num; i++) {
                intarr[i] = scanner.nextInt();
            }

            int[] left = new int[num];
            int[] right = new int[num];
            left[0]=1;
            right[num-1]=1;

            for (int i = 0; i < num; i++) {
                left[i]=1;
                for (int j = 0; j < i; j++) {
                    if (intarr[i]>intarr[j]) {
                        left[i] = Math.max(left[j]+1, left[i]);
                    }
                }
            }

            for (int i = num-1; i >= 0; i--) {
                right[i]=1;
                for (int j = num-1; j > i; j--) {
                    if (intarr[i]>intarr[j]) {
                        right[i] = Math.max(right[j]+1, right[i]);
                    }
                }
            }

            int[] result = new int[num];

            for (int i = 0; i < num; i++) {
                result[i] = left[i] + right[i] - 1 ;
            }

            int maxDis = 1;
            for (int i = 0; i < num; i++) {
                maxDis = Math.max(result[i], maxDis);
            }


            System.out.println(num-maxDis);

        }

    }

}

全部评论

相关推荐

牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
立枫:整体内容太多了,实习经历太少了,以及格式行间距不统一
0offer是寒冬太冷还...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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