题解 | #Redraiment的走法#
Redraiment的走法
https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa
import java.util.*;
public class Main{
public static void main(String[] arg) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
scan.nextLine();
String[] input1 = scan.nextLine().split(" ");
int[] intArr = Arrays.stream(input1).mapToInt(Integer::parseInt).toArray();
int[] k=new int[intArr.length];
for(int j=1;j<intArr.length;j++){
for(int i=0;i<j;i++){
if(intArr[i]<intArr[j]){
k[j]=Math.max(k[j],k[i]+1);
}
}
}
Arrays.sort(k);
System.out.println(k[k.length-1]+1);
}
}
}
最长递增子序列。dp[i]表示以nums[i]为结尾的最长递增子序列,因此nums[i+1]>nums[i],必有dp[i+1] = dp[i] + 1。