排列的一种好方法,用链表来记录数据,简单明了,简称模板,值得记录
public class main{ static int count=0; public static void f(List<Integer>lis,int start,int m,int n){ if(start>=m) { System.out.println(lis); count++; } else { for(int i=1;i<=n;i++){ if(!lis.contains(i)){ lis.set(start,i); }else continue; f(lis,start+1,m,n); lis.set(start, -1); } } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); List<Integer> lis = new ArrayList<Integer>(); for(int i=0;i<m;i++) lis.add(-1); f(lis,0,m,n); System.out.println(count); } }