第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。
8 300 207 155 300 299 170 158 65
6
1 import java.util.Scanner; 2 3 4 public class Main{ 5 public static void main(String[]args){ 6 Scanner in=new Scanner(System.in); 7 while(in.hasNext()){ 8 int k=in.nextInt(); 9 int[] higth=new int[k]; 10 for(int i=0;i<k;i++){ 11 higth[i]=in.nextInt(); 12 } 13 int[]F=new int[k]; 14 F[0]=1; 15 for(int i=1;i<k;i++){ 16 int max=1; 17 for(int j=0;j<i;j++){ 18 if(higth[i]<=higth[j]){ 19 max=Math.max(max,F[j]+1); 20 } 21 } 22 F[i]=max; 23 } 24 int max=1; 25 for(int i=0;i<k;i++){ 26 max=Math.max(max,F[i]); 27 } 28 System.out.println(max); 29 } 30 } 31 } 32 33 /************************************************************** 34 Problem: 1112 35 User: 0000H 36 Language: Java 37 Result: Accepted 38 Time:120 ms 39 Memory:18772 kb 40 ****************************************************************/
原文:http://www.cnblogs.com/qq1029579233/p/4507861.html