import java.util.*;
public class Main{
static int[] f = new int[1005];//存数
static int[] w = new int[1005];//从第一个开始到i的最长上升子序列
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i=1;i<=n;i++){
f[i] = in.nextInt();
}
for(int i=1;i<=n;i++){
w[i]=1;
for(int j=1;j<i;j++){
if(f[i]>f[j]){
w[i]=Math.max(w[i],w[j]+1);
//System.out.println(w[i]);
}
}
}
int res=0;
for(int i=1;i<=n;i++){
res=Math.max(res,w[i]);
}
System.out.println(res);
}
}
Java实现最长上升子序列(DP)
最新推荐文章于 2022-01-20 19:45:11 发布