题目描述:
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截 系统有一个缺陷:虽然它的第一发炮弹能够达到任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试 用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
代码:
package lanqiao;import java.util.*;public class Main {public static void main(String[] args) {int[] a = new int[20];int index = 0;Scanner sc = new Scanner(System.in);while (sc.hasNextInt()) {a[index++] = sc.nextInt();}
// 导弹先打第一发int max=a[0],count=1;
// 遍历除了第一发和最后一发导弹for (int i = 1; i < index-1; i++) {
// 当前导弹高度是否低于前一发高度if (a[i]<max) {
// 后续的一发导弹高度是否低于前一发高度
// 高度相同也打得到if (a[i+1]<=max) {count++;
// 这一发和后一发比打那个比较划得来max=Math.max(a[i], a[i+1]);}
// 如果后续的一发打不到就打当前的else {count++;max=a[i];}}
// 判断最后一发导弹是否小于前一发导弹的高度if (i+1==index-1) {if (a[index-1]<max) {count++;}}}System.out.println(count);}
}