使用lamada表达式将String[]优雅的转为int[]然后遍历运算,存在临时的数组里。对数组排序,结果要加1,因为 5 到5 也视为1步。
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); } } }