题:发射的导弹序列,而拦截系统有缺陷,每次只能拦截不比上一次高的导弹。
输入:敌国导弹数量k
敌国K个导弹序列
输出:最长能够拦截的导弹数目。
代码:
import java.util.Scanner;
public class stopIsle {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int k = scanner.nextInt();
int[] in = new int[k];
for(int i = 0 ; i < k ; i++){
in[i] = scanner.nextInt();
}
int maxlen[] = new int[k];
for(int i = 0 ; i < k ; i++){
maxlen[i] = 1;
}
for(int i = 1 ; i < k ; i++){
int tmp = maxlen[i];
for(int j = 0 ; j < i ; j++){
if(tmp<(maxlen[j]+1)&&in[i]<=in[j]){
tmp = maxlen[j] + 1;
}
}
maxlen[i] = tmp;
}
for(int i = 0 ; i < k ; i++){
System.out.println(maxlen[i]);
}
}
}