java爆栈了,有无大佬帮看看如何优化
查看原帖
java爆栈了,有无大佬帮看看如何优化
1096827
AC_or_suicide楼主2023/9/26 15:44
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		ArrayList<Integer> al = new ArrayList<Integer>();
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();
		boolean arr[] = new boolean[x];
		method(0, x, al,arr);
		sc.close();
	}
	
	public static void method(int n,int x,ArrayList<Integer> al,boolean arr[]) {
		if(al.size() == x) {
			method2(al);
			return;
		}
		for(int i = 0;i < x;i++) {
			if(!arr[i]) {
				arr[i] = true;
				al.add(i + 1);
				method(n + 1, x, al, arr);
				al.remove(al.size() - 1);
				arr[i] = false;
			}
		}
	}
	
	public static void method2(ArrayList<Integer> al) {
		for(Integer s : al) {
			System.out.print(String.format("%5s", s));
		}
		System.out.println();
	}
}

2023/9/26 15:44
加载中...