陈洋


私信TA

用户名:dotcpp0606264

访问量:1849

签 名:

76 121 108

等  级
排  名 1264
经  验 3033
参赛次数 1
文章发表 9
年  龄 3
在职情况 学生
学  校 鄂州职业大学
专  业

  自我简介:


解题思路:屏幕截图 2022-10-20 215552.png
注意事项:

参考代码:

public class Tdd {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] str = sc.nextLine().split(" ");
        int[] num = new int[str.length];
        int[] s1 = new int[str.length];
        int[] s2 = new int[str.length];
        for (int i = 0; i < str.length; i++) {//将字符串中每个数字遍历到数组里面
            num[i] = Integer.valueOf(str[i]);
            s1[i] = 1;//用来存储最多能拦截多少的导弹
            s2[i] = 1;//用来存储最少需要的设备
        }
        for (int i = 0; i < num.length; i++) {
            for (int j = 0; j < i; j++) {
                if (num[i] < num[j]) {//从这个数字的前面开始找,第一位到自己有多少比自己大的
                    s1[i] = Math.max(s1[i], s1[j] + 1);//那么就拦截数量加一
                } else {//如果遇到比自己小的
                    s2[i] = Math.max(s2[i], s2[j] + 1);//那么需要设备加一
                }
            }
        }
        Arrays.sort(s1);
        Arrays.sort(s2);//排序 然后输出最后一位最大值
        System.out.println(s1[num.length - 1]);
        System.out.println(s2[num.length - 1]);
    }
}


 

0.0分

3 人评分

  评论区

  • «
  • »