解题思路:
注意事项:
参考代码:
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 人评分
1017题解浏览:663 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:566 |
1051(奇了怪了)浏览:747 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:627 |
Pascal三角 (C语言代码)浏览:707 |
简单的a+b (C语言代码)浏览:683 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1170 |
1392题解(大数相加)浏览:640 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:1059 |
1005答案错误为什么浏览:1988 |