抓住问题的本质:未进栈和已出栈
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int arr[][]=new int[20][20];
//设置边界:数字都未进栈,栈内为空,均只有一钟方法
for(int i=0;i<=n;i++) {
arr[i][0]=1;
}
for(int i=1;i<=n;i++) {//未进栈总数
for(int j=1;j<=i;j++) {//已出栈总数
if(i==j) {//栈空的时候,上一步一定是出栈
arr[i][j]=arr[i][j-1];
}else { //已出栈数+未入栈数
arr[i][j]=arr[i][j-1]+arr[i-1][j];
}
}
}
System.out.println(arr[n][n]);
}
}