/*
* 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,
* c说他不和x,z比,请编程序找出三队赛手的名单。
*/
public static void print20() {
long start = System.currentTimeMillis();
char a, b, c;
for (a = 'x'; a <= 'z'; a++) {
for (b = 'x'; b <= 'z'; b++) {
if (a != b) {
for (c = 'x'; c <= 'z'; c++) {
if (a != c && b != c) {
if (a != 'x' && c != 'x' && c != 'z') {
System.out.println(a + "," + b + "," + c);
}
}
}
}
}
}
long end = System.currentTimeMillis();
System.out.println("共用了" + (end - start) + "毫秒。");
}
/*
* 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,
* c说他不和x,z比,请编程序找出三队赛手的名单。
*
* 此方法可以实现abc和xyz数目不同时的对阵,但abc的长度要小于等于xyz的长度;
*/
public static void print21(String[] abc, String[] xyz) {
long start = System.currentTimeMillis();
// 二维数组orders的值1代表x,2代表y,3代表z;
// 共有abc数组的长度列,每列代表与数组abc列对应的值
// 如序列为[1,2,3],则对手分别为:a-x,b-y,c-z
int col = abc.length;
int[][] orders = getOrder(1, xyz.length, col);
int row = orders.length;
String[][] rs = new String[row][col];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
rs[i][j] = abc[j] + xyz[orders[i][j] - 1];
}
}
long end = System.currentTimeMillis();
System.out.println("共用了" + (end - start) + "毫秒。");
for (int i = 0; i < row; i++) {
boolean flag = true;
for (int j = 0; j < col; j++) {
if (rs[i][j].equals("ax") || rs[i][j].equals("cx")
|| rs[i][j].equals("cz")) {
flag = false;
break;
}
}
if (flag) {
System.out.println(Arrays.toString(rs[i]));
}
}
}
/*
* 从1到N的全部数列
*/
public static int[][] getOrder(int n) {
return getOrder(1, n, n);
}
/*
* 从start到end中任意选择count个数字组成的序列
* 如从1到3的排列有[1,2,3]、[1,3,2]、[2,1,3]、[2,3,1],[3,1,2]、[3,2,1]
* 思路(当N为3时,即求数字1、2、3的所有排列):
* 1.要得到数字1、2、3的全部排列,只需要得到以1开始的所有排列123和132
* 2.将123各位+1,得到231(当相加的和超过最大值时变为最小值,即个位的3+1=4>3,时变为1),再+1,得到312
* 3.将132同步骤2,得到213和321
* 4.如何得到步骤1中的123和132呢,只需要得到23和32,即数字2、3的全排列
* 5.同步骤1,要得到数字2、3的全部排列,只需要得到以2开始的所有排列23
* 6.同步骤2,得到32
* 7.如何得到步骤4中的23呢,只需要得到3,即数字3的全排列
*/
public static int[][] getOrder(int start, int end, int count) {
if (count == 1) {
int tempN = end - start + 1;
int[][] now = new int[tempN][count];
for (int i = 0; i < tempN; i++) {
now[i][0] = start + i;
}
return now;
} else {
int row = 1;
int tempN = end - start + 1;
for (int i = 0; i < count; i++) {
row *= tempN--;
}
int[][] now = new int[row][count];
int[][] pre = getOrder(start + 1, end, count - 1);
int preLength = pre.length;
for (int i = 0; i < preLength; i++) {
now[i][0] = start;
for (int j = 0; j < pre[i].length; j++) {
now[i][j + 1] = pre[i][j];
}
}
for (int i = 1; i < row / preLength; i++) {
for (int j = 0; j < preLength; j++) {
for (int k = 0; k < count; k++) {
int value = now[(i - 1) * preLength + j][k] + 1;
if (value > end) {
value = start;
}
now[i * preLength + j][k] = value;
}
}
}
return now;
}
}
public static void main(String[] args) {
long start = System.currentTimeMillis();
int[][] orders = T2.getOrder(6);
long end = System.currentTimeMillis();
System.out.println("共" + orders.length + "项:");
for (int i = 0; i < orders.length; i++) {
System.out.println(Arrays.toString(orders[i]));
}
System.out.println("共用了" + (end - start) + "毫秒。");
System.out.println("------------------");
T2.print20();
System.out.println("------------------");
String[] abc = { "a", "b", "c" };
String[] xyz = { "x", "y", "z" };
T2.print21(abc, xyz);
System.out.println("------------------");
String[] abc2 = { "a", "b", "c" };
String[] xyz2 = { "x", "y", "z", "w" };
T2.print21(abc2, xyz2);
}
输出:
共720项:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 6, 5]
[1, 2, 3, 5, 6, 4]
[1, 2, 3, 5, 4, 6]
[1, 2, 3, 6, 4, 5]
[1, 2, 3, 6, 5, 4]
[1, 2, 4, 5, 6, 3]
[1, 2, 4, 5, 3, 6]
[1, 2, 4, 6, 3, 5]
[1, 2, 4, 6, 5, 3]
[1, 2, 4, 3, 5, 6]
[1, 2, 4, 3, 6, 5]
[1, 2, 5, 6, 3, 4]
[1, 2, 5, 6, 4, 3]
[1, 2, 5, 3, 4, 6]
[1, 2, 5, 3, 6, 4]
[1, 2, 5, 4, 6, 3]
[1, 2, 5, 4, 3, 6]
[1, 2, 6, 3, 4, 5]
[1, 2, 6, 3, 5, 4]
[1, 2, 6, 4, 5, 3]
[1, 2, 6, 4, 3, 5]
[1, 2, 6, 5, 3, 4]
[1, 2, 6, 5, 4, 3]
[1, 3, 4, 5, 6, 2]
[1, 3, 4, 5, 2, 6]
[1, 3, 4, 6, 2, 5]
[1, 3, 4, 6, 5, 2]
[1, 3, 4, 2, 5, 6]
[1, 3, 4, 2, 6, 5]
[1, 3, 5, 6, 2, 4]
[1, 3, 5, 6, 4, 2]
[1, 3, 5, 2, 4, 6]
[1, 3, 5, 2, 6, 4]
[1, 3, 5, 4, 6, 2]
[1, 3, 5, 4, 2, 6]
[1, 3, 6, 2, 4, 5]
[1, 3, 6, 2, 5, 4]
[1, 3, 6, 4, 5, 2]
[1, 3, 6, 4, 2, 5]
[1, 3, 6, 5, 2, 4]
[1, 3, 6, 5, 4, 2]
[1, 3, 2, 4, 5, 6]
[1, 3, 2, 4, 6, 5]
[1, 3, 2, 5, 6, 4]
[1, 3, 2, 5, 4, 6]
[1, 3, 2, 6, 4, 5]
[1, 3, 2, 6, 5, 4]
[1, 4, 5, 6, 2, 3]
[1, 4, 5, 6, 3, 2]
[1, 4, 5, 2, 3, 6]
[1, 4, 5, 2, 6, 3]
[1, 4, 5, 3, 6, 2]
[1, 4, 5, 3, 2, 6]
[1, 4, 6, 2, 3, 5]
[1, 4, 6, 2, 5, 3]
[1, 4, 6, 3, 5, 2]
[1, 4, 6, 3, 2, 5]
[1, 4, 6, 5, 2, 3]
[1, 4, 6, 5, 3, 2]
[1, 4, 2, 3, 5, 6]
[1, 4, 2, 3, 6, 5]
[1, 4, 2, 5, 6, 3]
[1, 4, 2, 5, 3, 6]
[1, 4, 2, 6, 3, 5]
[1, 4, 2, 6, 5, 3]
[1, 4, 3, 5, 6, 2]
[1, 4, 3, 5, 2, 6]
[1, 4, 3, 6, 2, 5]
[1, 4, 3, 6, 5, 2]
[1, 4, 3, 2, 5, 6]
[1, 4, 3, 2, 6, 5]
[1, 5, 6, 2, 3, 4]
[1, 5, 6, 2, 4, 3]
[1, 5, 6, 3, 4, 2]
[1, 5, 6, 3, 2, 4]
[1, 5, 6, 4, 2, 3]
[1, 5, 6, 4, 3, 2]
[1, 5, 2, 3, 4, 6]
[1, 5, 2, 3, 6, 4]
[1, 5, 2, 4, 6, 3]
[1, 5, 2, 4, 3, 6]
[1, 5, 2, 6, 3, 4]
[1, 5, 2, 6, 4, 3]
[1, 5, 3, 4, 6, 2]
[1, 5, 3, 4, 2, 6]
[1, 5, 3, 6, 2, 4]
[1, 5, 3, 6, 4, 2]
[1, 5, 3, 2, 4, 6]
[1, 5, 3, 2, 6, 4]
[1, 5, 4, 6, 2, 3]
[1, 5, 4, 6, 3, 2]
[1, 5, 4, 2, 3, 6]
[1, 5, 4, 2, 6, 3]
[1, 5, 4, 3, 6, 2]
[1, 5, 4, 3, 2, 6]
[1, 6, 2, 3, 4, 5]
[1, 6, 2, 3, 5, 4]
[1, 6, 2, 4, 5, 3]
[1, 6, 2, 4, 3, 5]
[1, 6, 2, 5, 3, 4]
[1, 6, 2, 5, 4, 3]
[1, 6, 3, 4, 5, 2]
[1, 6, 3, 4, 2, 5]
[1, 6, 3, 5, 2, 4]
[1, 6, 3, 5, 4, 2]
[1, 6, 3, 2, 4, 5]
[1, 6, 3, 2, 5, 4]
[1, 6, 4, 5, 2, 3]
[1, 6, 4, 5, 3, 2]
[1, 6, 4, 2, 3, 5]
[1, 6, 4, 2, 5, 3]
[1, 6, 4, 3, 5, 2]
[1, 6, 4, 3, 2, 5]
[1, 6, 5, 2, 3, 4]
[1, 6, 5, 2, 4, 3]
[1, 6, 5, 3, 4, 2]
[1, 6, 5, 3, 2, 4]
[1, 6, 5, 4, 2, 3]
[1, 6, 5, 4, 3, 2]
[2, 3, 4, 5, 6, 1]
[2, 3, 4, 5, 1, 6]
[2, 3, 4, 6, 1, 5]
[2, 3, 4, 6, 5, 1]
[2, 3, 4, 1, 5, 6]
[2, 3, 4, 1, 6, 5]
[2, 3, 5, 6, 1, 4]
[2, 3, 5, 6, 4, 1]
[2, 3, 5, 1, 4, 6]
[2, 3, 5, 1, 6, 4]
[2, 3, 5, 4, 6, 1]
[2, 3, 5, 4, 1, 6]
[2, 3, 6, 1, 4, 5]
[2, 3, 6, 1, 5, 4]
[2, 3, 6, 4, 5, 1]
[2, 3, 6, 4, 1, 5]
[2, 3, 6, 5, 1, 4]
[2, 3, 6, 5, 4, 1]
[2, 3, 1, 4, 5, 6]
[2, 3, 1, 4, 6, 5]
[2, 3, 1, 5, 6, 4]
[2, 3, 1, 5, 4, 6]
[2, 3, 1, 6, 4, 5]
[2, 3, 1, 6, 5, 4]
[2, 4, 5, 6, 1, 3]
[2, 4, 5, 6, 3, 1]
[2, 4, 5, 1, 3, 6]
[2, 4, 5, 1, 6, 3]
[2, 4, 5, 3, 6, 1]
[2, 4, 5, 3, 1, 6]
[2, 4, 6, 1, 3, 5]
[2, 4, 6, 1, 5, 3]
[2, 4, 6, 3, 5, 1]
[2, 4, 6, 3, 1, 5]
[2, 4, 6, 5, 1, 3]
[2, 4, 6, 5, 3, 1]
[2, 4, 1, 3, 5, 6]
[2, 4, 1, 3, 6, 5]
[2, 4, 1, 5, 6, 3]
[2, 4, 1, 5, 3, 6]
[2, 4, 1, 6, 3, 5]
[2, 4, 1, 6, 5, 3]
[2, 4, 3, 5, 6, 1]
[2, 4, 3, 5, 1, 6]
[2, 4, 3, 6, 1, 5]
[2, 4, 3, 6, 5, 1]
[2, 4, 3, 1, 5, 6]
[2, 4, 3, 1, 6, 5]
[2, 5, 6, 1, 3, 4]
[2, 5, 6, 1, 4, 3]
[2, 5, 6, 3, 4, 1]
[2, 5, 6, 3, 1, 4]
[2, 5, 6, 4, 1, 3]
[2, 5, 6, 4, 3, 1]
[2, 5, 1, 3, 4, 6]
[2, 5, 1, 3, 6, 4]
[2, 5, 1, 4, 6, 3]
[2, 5, 1, 4, 3, 6]
[2, 5, 1, 6, 3, 4]
[2, 5, 1, 6, 4, 3]
[2, 5, 3, 4, 6, 1]
[2, 5, 3, 4, 1, 6]
[2, 5, 3, 6, 1, 4]
[2, 5, 3, 6, 4, 1]
[2, 5, 3, 1, 4, 6]
[2, 5, 3, 1, 6, 4]
[2, 5, 4, 6, 1, 3]
[2, 5, 4, 6, 3, 1]
[2, 5, 4, 1, 3, 6]
[2, 5, 4, 1, 6, 3]
[2, 5, 4, 3, 6, 1]
[2, 5, 4, 3, 1, 6]
[2, 6, 1, 3, 4, 5]
[2, 6, 1, 3, 5, 4]
[2, 6, 1, 4, 5, 3]
[2, 6, 1, 4, 3, 5]
[2, 6, 1, 5, 3, 4]
[2, 6, 1, 5, 4, 3]
[2, 6, 3, 4, 5, 1]
[2, 6, 3, 4, 1, 5]
[2, 6, 3, 5, 1, 4]
[2, 6, 3, 5, 4, 1]
[2, 6, 3, 1, 4, 5]
[2, 6, 3, 1, 5, 4]
[2, 6, 4, 5, 1, 3]
[2, 6, 4, 5, 3, 1]
[2, 6, 4, 1, 3, 5]
[2, 6, 4, 1, 5, 3]
[2, 6, 4, 3, 5, 1]
[2, 6, 4, 3, 1, 5]
[2, 6, 5, 1, 3, 4]
[2, 6, 5, 1, 4, 3]
[2, 6, 5, 3, 4, 1]
[2, 6, 5, 3, 1, 4]
[2, 6, 5, 4, 1, 3]
[2, 6, 5, 4, 3, 1]
[2, 1, 3, 4, 5, 6]
[2, 1, 3, 4, 6, 5]
[2, 1, 3, 5, 6, 4]
[2, 1, 3, 5, 4, 6]
[2, 1, 3, 6, 4, 5]
[2, 1, 3, 6, 5, 4]
[2, 1, 4, 5, 6, 3]
[2, 1, 4, 5, 3, 6]
[2, 1, 4, 6, 3, 5]
[2, 1, 4, 6, 5, 3]
[2, 1, 4, 3, 5, 6]
[2, 1, 4, 3, 6, 5]
[2, 1, 5, 6, 3, 4]
[2, 1, 5, 6, 4, 3]
[2, 1, 5, 3, 4, 6]
[2, 1, 5, 3, 6, 4]
[2, 1, 5, 4, 6, 3]
[2, 1, 5, 4, 3, 6]
[2, 1, 6, 3, 4, 5]
[2, 1, 6, 3, 5, 4]
[2, 1, 6, 4, 5, 3]
[2, 1, 6, 4, 3, 5]
[2, 1, 6, 5, 3, 4]
[2, 1, 6, 5, 4, 3]
[3, 4, 5, 6, 1, 2]
[3, 4, 5, 6, 2, 1]
[3, 4, 5, 1, 2, 6]
[3, 4, 5, 1, 6, 2]
[3, 4, 5, 2, 6, 1]
[3, 4, 5, 2, 1, 6]
[3, 4, 6, 1, 2, 5]
[3, 4, 6, 1, 5, 2]
[3, 4, 6, 2, 5, 1]
[3, 4, 6, 2, 1, 5]
[3, 4, 6, 5, 1, 2]
[3, 4, 6, 5, 2, 1]
[3, 4, 1, 2, 5, 6]
[3, 4, 1, 2, 6, 5]
[3, 4, 1, 5, 6, 2]
[3, 4, 1, 5, 2, 6]
[3, 4, 1, 6, 2, 5]
[3, 4, 1, 6, 5, 2]
[3, 4, 2, 5, 6, 1]
[3, 4, 2, 5, 1, 6]
[3, 4, 2, 6, 1, 5]
[3, 4, 2, 6, 5, 1]
[3, 4, 2, 1, 5, 6]
[3, 4, 2, 1, 6, 5]
[3, 5, 6, 1, 2, 4]
[3, 5, 6, 1, 4, 2]
[3, 5, 6, 2, 4, 1]
[3, 5, 6, 2, 1, 4]
[3, 5, 6, 4, 1, 2]
[3, 5, 6, 4, 2, 1]
[3, 5, 1, 2, 4, 6]
[3, 5, 1, 2, 6, 4]
[3, 5, 1, 4, 6, 2]
[3, 5, 1, 4, 2, 6]
[3, 5, 1, 6, 2, 4]
[3, 5, 1, 6, 4, 2]
[3, 5, 2, 4, 6, 1]
[3, 5, 2, 4, 1, 6]
[3, 5, 2, 6, 1, 4]
[3, 5, 2, 6, 4, 1]
[3, 5, 2, 1, 4, 6]
[3, 5, 2, 1, 6, 4]
[3, 5, 4, 6, 1, 2]
[3, 5, 4, 6, 2, 1]
[3, 5, 4, 1, 2, 6]
[3, 5, 4, 1, 6, 2]
[3, 5, 4, 2, 6, 1]
[3, 5, 4, 2, 1, 6]
[3, 6, 1, 2, 4, 5]
[3, 6, 1, 2, 5, 4]
[3, 6, 1, 4, 5, 2]
[3, 6, 1, 4, 2, 5]
[3, 6, 1, 5, 2, 4]
[3, 6, 1, 5, 4, 2]
[3, 6, 2, 4, 5, 1]
[3, 6, 2, 4, 1, 5]
[3, 6, 2, 5, 1, 4]
[3, 6, 2, 5, 4, 1]
[3, 6, 2, 1, 4, 5]
[3, 6, 2, 1, 5, 4]
[3, 6, 4, 5, 1, 2]
[3, 6, 4, 5, 2, 1]
[3, 6, 4, 1, 2, 5]
[3, 6, 4, 1, 5, 2]
[3, 6, 4, 2, 5, 1]
[3, 6, 4, 2, 1, 5]
[3, 6, 5, 1, 2, 4]
[3, 6, 5, 1, 4, 2]
[3, 6, 5, 2, 4, 1]
[3, 6, 5, 2, 1, 4]
[3, 6, 5, 4, 1, 2]
[3, 6, 5, 4, 2, 1]
[3, 1, 2, 4, 5, 6]
[3, 1, 2, 4, 6, 5]
[3, 1, 2, 5, 6, 4]
[3, 1, 2, 5, 4, 6]
[3, 1, 2, 6, 4, 5]
[3, 1, 2, 6, 5, 4]
[3, 1, 4, 5, 6, 2]
[3, 1, 4, 5, 2, 6]
[3, 1, 4, 6, 2, 5]
[3, 1, 4, 6, 5, 2]
[3, 1, 4, 2, 5, 6]
[3, 1, 4, 2, 6, 5]
[3, 1, 5, 6, 2, 4]
[3, 1, 5, 6, 4, 2]
[3, 1, 5, 2, 4, 6]
[3, 1, 5, 2, 6, 4]
[3, 1, 5, 4, 6, 2]
[3, 1, 5, 4, 2, 6]
[3, 1, 6, 2, 4, 5]
[3, 1, 6, 2, 5, 4]
[3, 1, 6, 4, 5, 2]
[3, 1, 6, 4, 2, 5]
[3, 1, 6, 5, 2, 4]
[3, 1, 6, 5, 4, 2]
[3, 2, 4, 5, 6, 1]
[3, 2, 4, 5, 1, 6]
[3, 2, 4, 6, 1, 5]
[3, 2, 4, 6, 5, 1]
[3, 2, 4, 1, 5, 6]
[3, 2, 4, 1, 6, 5]
[3, 2, 5, 6, 1, 4]
[3, 2, 5, 6, 4, 1]
[3, 2, 5, 1, 4, 6]
[3, 2, 5, 1, 6, 4]
[3, 2, 5, 4, 6, 1]
[3, 2, 5, 4, 1, 6]
[3, 2, 6, 1, 4, 5]
[3, 2, 6, 1, 5, 4]
[3, 2, 6, 4, 5, 1]
[3, 2, 6, 4, 1, 5]
[3, 2, 6, 5, 1, 4]
[3, 2, 6, 5, 4, 1]
[3, 2, 1, 4, 5, 6]
[3, 2, 1, 4, 6, 5]
[3, 2, 1, 5, 6, 4]
[3, 2, 1, 5, 4, 6]
[3, 2, 1, 6, 4, 5]
[3, 2, 1, 6, 5, 4]
[4, 5, 6, 1, 2, 3]
[4, 5, 6, 1, 3, 2]
[4, 5, 6, 2, 3, 1]
[4, 5, 6, 2, 1, 3]
[4, 5, 6, 3, 1, 2]
[4, 5, 6, 3, 2, 1]
[4, 5, 1, 2, 3, 6]
[4, 5, 1, 2, 6, 3]
[4, 5, 1, 3, 6, 2]
[4, 5, 1, 3, 2, 6]
[4, 5, 1, 6, 2, 3]
[4, 5, 1, 6, 3, 2]
[4, 5, 2, 3, 6, 1]
[4, 5, 2, 3, 1, 6]
[4, 5, 2, 6, 1, 3]
[4, 5, 2, 6, 3, 1]
[4, 5, 2, 1, 3, 6]
[4, 5, 2, 1, 6, 3]
[4, 5, 3, 6, 1, 2]
[4, 5, 3, 6, 2, 1]
[4, 5, 3, 1, 2, 6]
[4, 5, 3, 1, 6, 2]
[4, 5, 3, 2, 6, 1]
[4, 5, 3, 2, 1, 6]
[4, 6, 1, 2, 3, 5]
[4, 6, 1, 2, 5, 3]
[4, 6, 1, 3, 5, 2]
[4, 6, 1, 3, 2, 5]
[4, 6, 1, 5, 2, 3]
[4, 6, 1, 5, 3, 2]
[4, 6, 2, 3, 5, 1]
[4, 6, 2, 3, 1, 5]
[4, 6, 2, 5, 1, 3]
[4, 6, 2, 5, 3, 1]
[4, 6, 2, 1, 3, 5]
[4, 6, 2, 1, 5, 3]
[4, 6, 3, 5, 1, 2]
[4, 6, 3, 5, 2, 1]
[4, 6, 3, 1, 2, 5]
[4, 6, 3, 1, 5, 2]
[4, 6, 3, 2, 5, 1]
[4, 6, 3, 2, 1, 5]
[4, 6, 5, 1, 2, 3]
[4, 6, 5, 1, 3, 2]
[4, 6, 5, 2, 3, 1]
[4, 6, 5, 2, 1, 3]
[4, 6, 5, 3, 1, 2]
[4, 6, 5, 3, 2, 1]
[4, 1, 2, 3, 5, 6]
[4, 1, 2, 3, 6, 5]
[4, 1, 2, 5, 6, 3]
[4, 1, 2, 5, 3, 6]
[4, 1, 2, 6, 3, 5]
[4, 1, 2, 6, 5, 3]
[4, 1, 3, 5, 6, 2]
[4, 1, 3, 5, 2, 6]
[4, 1, 3, 6, 2, 5]
[4, 1, 3, 6, 5, 2]
[4, 1, 3, 2, 5, 6]
[4, 1, 3, 2, 6, 5]
[4, 1, 5, 6, 2, 3]
[4, 1, 5, 6, 3, 2]
[4, 1, 5, 2, 3, 6]
[4, 1, 5, 2, 6, 3]
[4, 1, 5, 3, 6, 2]
[4, 1, 5, 3, 2, 6]
[4, 1, 6, 2, 3, 5]
[4, 1, 6, 2, 5, 3]
[4, 1, 6, 3, 5, 2]
[4, 1, 6, 3, 2, 5]
[4, 1, 6, 5, 2, 3]
[4, 1, 6, 5, 3, 2]
[4, 2, 3, 5, 6, 1]
[4, 2, 3, 5, 1, 6]
[4, 2, 3, 6, 1, 5]
[4, 2, 3, 6, 5, 1]
[4, 2, 3, 1, 5, 6]
[4, 2, 3, 1, 6, 5]
[4, 2, 5, 6, 1, 3]
[4, 2, 5, 6, 3, 1]
[4, 2, 5, 1, 3, 6]
[4, 2, 5, 1, 6, 3]
[4, 2, 5, 3, 6, 1]
[4, 2, 5, 3, 1, 6]
[4, 2, 6, 1, 3, 5]
[4, 2, 6, 1, 5, 3]
[4, 2, 6, 3, 5, 1]
[4, 2, 6, 3, 1, 5]
[4, 2, 6, 5, 1, 3]
[4, 2, 6, 5, 3, 1]
[4, 2, 1, 3, 5, 6]
[4, 2, 1, 3, 6, 5]
[4, 2, 1, 5, 6, 3]
[4, 2, 1, 5, 3, 6]
[4, 2, 1, 6, 3, 5]
[4, 2, 1, 6, 5, 3]
[4, 3, 5, 6, 1, 2]
[4, 3, 5, 6, 2, 1]
[4, 3, 5, 1, 2, 6]
[4, 3, 5, 1, 6, 2]
[4, 3, 5, 2, 6, 1]
[4, 3, 5, 2, 1, 6]
[4, 3, 6, 1, 2, 5]
[4, 3, 6, 1, 5, 2]
[4, 3, 6, 2, 5, 1]
[4, 3, 6, 2, 1, 5]
[4, 3, 6, 5, 1, 2]
[4, 3, 6, 5, 2, 1]
[4, 3, 1, 2, 5, 6]
[4, 3, 1, 2, 6, 5]
[4, 3, 1, 5, 6, 2]
[4, 3, 1, 5, 2, 6]
[4, 3, 1, 6, 2, 5]
[4, 3, 1, 6, 5, 2]
[4, 3, 2, 5, 6, 1]
[4, 3, 2, 5, 1, 6]
[4, 3, 2, 6, 1, 5]
[4, 3, 2, 6, 5, 1]
[4, 3, 2, 1, 5, 6]
[4, 3, 2, 1, 6, 5]
[5, 6, 1, 2, 3, 4]
[5, 6, 1, 2, 4, 3]
[5, 6, 1, 3, 4, 2]
[5, 6, 1, 3, 2, 4]
[5, 6, 1, 4, 2, 3]
[5, 6, 1, 4, 3, 2]
[5, 6, 2, 3, 4, 1]
[5, 6, 2, 3, 1, 4]
[5, 6, 2, 4, 1, 3]
[5, 6, 2, 4, 3, 1]
[5, 6, 2, 1, 3, 4]
[5, 6, 2, 1, 4, 3]
[5, 6, 3, 4, 1, 2]
[5, 6, 3, 4, 2, 1]
[5, 6, 3, 1, 2, 4]
[5, 6, 3, 1, 4, 2]
[5, 6, 3, 2, 4, 1]
[5, 6, 3, 2, 1, 4]
[5, 6, 4, 1, 2, 3]
[5, 6, 4, 1, 3, 2]
[5, 6, 4, 2, 3, 1]
[5, 6, 4, 2, 1, 3]
[5, 6, 4, 3, 1, 2]
[5, 6, 4, 3, 2, 1]
[5, 1, 2, 3, 4, 6]
[5, 1, 2, 3, 6, 4]
[5, 1, 2, 4, 6, 3]
[5, 1, 2, 4, 3, 6]
[5, 1, 2, 6, 3, 4]
[5, 1, 2, 6, 4, 3]
[5, 1, 3, 4, 6, 2]
[5, 1, 3, 4, 2, 6]
[5, 1, 3, 6, 2, 4]
[5, 1, 3, 6, 4, 2]
[5, 1, 3, 2, 4, 6]
[5, 1, 3, 2, 6, 4]
[5, 1, 4, 6, 2, 3]
[5, 1, 4, 6, 3, 2]
[5, 1, 4, 2, 3, 6]
[5, 1, 4, 2, 6, 3]
[5, 1, 4, 3, 6, 2]
[5, 1, 4, 3, 2, 6]
[5, 1, 6, 2, 3, 4]
[5, 1, 6, 2, 4, 3]
[5, 1, 6, 3, 4, 2]
[5, 1, 6, 3, 2, 4]
[5, 1, 6, 4, 2, 3]
[5, 1, 6, 4, 3, 2]
[5, 2, 3, 4, 6, 1]
[5, 2, 3, 4, 1, 6]
[5, 2, 3, 6, 1, 4]
[5, 2, 3, 6, 4, 1]
[5, 2, 3, 1, 4, 6]
[5, 2, 3, 1, 6, 4]
[5, 2, 4, 6, 1, 3]
[5, 2, 4, 6, 3, 1]
[5, 2, 4, 1, 3, 6]
[5, 2, 4, 1, 6, 3]
[5, 2, 4, 3, 6, 1]
[5, 2, 4, 3, 1, 6]
[5, 2, 6, 1, 3, 4]
[5, 2, 6, 1, 4, 3]
[5, 2, 6, 3, 4, 1]
[5, 2, 6, 3, 1, 4]
[5, 2, 6, 4, 1, 3]
[5, 2, 6, 4, 3, 1]
[5, 2, 1, 3, 4, 6]
[5, 2, 1, 3, 6, 4]
[5, 2, 1, 4, 6, 3]
[5, 2, 1, 4, 3, 6]
[5, 2, 1, 6, 3, 4]
[5, 2, 1, 6, 4, 3]
[5, 3, 4, 6, 1, 2]
[5, 3, 4, 6, 2, 1]
[5, 3, 4, 1, 2, 6]
[5, 3, 4, 1, 6, 2]
[5, 3, 4, 2, 6, 1]
[5, 3, 4, 2, 1, 6]
[5, 3, 6, 1, 2, 4]
[5, 3, 6, 1, 4, 2]
[5, 3, 6, 2, 4, 1]
[5, 3, 6, 2, 1, 4]
[5, 3, 6, 4, 1, 2]
[5, 3, 6, 4, 2, 1]
[5, 3, 1, 2, 4, 6]
[5, 3, 1, 2, 6, 4]
[5, 3, 1, 4, 6, 2]
[5, 3, 1, 4, 2, 6]
[5, 3, 1, 6, 2, 4]
[5, 3, 1, 6, 4, 2]
[5, 3, 2, 4, 6, 1]
[5, 3, 2, 4, 1, 6]
[5, 3, 2, 6, 1, 4]
[5, 3, 2, 6, 4, 1]
[5, 3, 2, 1, 4, 6]
[5, 3, 2, 1, 6, 4]
[5, 4, 6, 1, 2, 3]
[5, 4, 6, 1, 3, 2]
[5, 4, 6, 2, 3, 1]
[5, 4, 6, 2, 1, 3]
[5, 4, 6, 3, 1, 2]
[5, 4, 6, 3, 2, 1]
[5, 4, 1, 2, 3, 6]
[5, 4, 1, 2, 6, 3]
[5, 4, 1, 3, 6, 2]
[5, 4, 1, 3, 2, 6]
[5, 4, 1, 6, 2, 3]
[5, 4, 1, 6, 3, 2]
[5, 4, 2, 3, 6, 1]
[5, 4, 2, 3, 1, 6]
[5, 4, 2, 6, 1, 3]
[5, 4, 2, 6, 3, 1]
[5, 4, 2, 1, 3, 6]
[5, 4, 2, 1, 6, 3]
[5, 4, 3, 6, 1, 2]
[5, 4, 3, 6, 2, 1]
[5, 4, 3, 1, 2, 6]
[5, 4, 3, 1, 6, 2]
[5, 4, 3, 2, 6, 1]
[5, 4, 3, 2, 1, 6]
[6, 1, 2, 3, 4, 5]
[6, 1, 2, 3, 5, 4]
[6, 1, 2, 4, 5, 3]
[6, 1, 2, 4, 3, 5]
[6, 1, 2, 5, 3, 4]
[6, 1, 2, 5, 4, 3]
[6, 1, 3, 4, 5, 2]
[6, 1, 3, 4, 2, 5]
[6, 1, 3, 5, 2, 4]
[6, 1, 3, 5, 4, 2]
[6, 1, 3, 2, 4, 5]
[6, 1, 3, 2, 5, 4]
[6, 1, 4, 5, 2, 3]
[6, 1, 4, 5, 3, 2]
[6, 1, 4, 2, 3, 5]
[6, 1, 4, 2, 5, 3]
[6, 1, 4, 3, 5, 2]
[6, 1, 4, 3, 2, 5]
[6, 1, 5, 2, 3, 4]
[6, 1, 5, 2, 4, 3]
[6, 1, 5, 3, 4, 2]
[6, 1, 5, 3, 2, 4]
[6, 1, 5, 4, 2, 3]
[6, 1, 5, 4, 3, 2]
[6, 2, 3, 4, 5, 1]
[6, 2, 3, 4, 1, 5]
[6, 2, 3, 5, 1, 4]
[6, 2, 3, 5, 4, 1]
[6, 2, 3, 1, 4, 5]
[6, 2, 3, 1, 5, 4]
[6, 2, 4, 5, 1, 3]
[6, 2, 4, 5, 3, 1]
[6, 2, 4, 1, 3, 5]
[6, 2, 4, 1, 5, 3]
[6, 2, 4, 3, 5, 1]
[6, 2, 4, 3, 1, 5]
[6, 2, 5, 1, 3, 4]
[6, 2, 5, 1, 4, 3]
[6, 2, 5, 3, 4, 1]
[6, 2, 5, 3, 1, 4]
[6, 2, 5, 4, 1, 3]
[6, 2, 5, 4, 3, 1]
[6, 2, 1, 3, 4, 5]
[6, 2, 1, 3, 5, 4]
[6, 2, 1, 4, 5, 3]
[6, 2, 1, 4, 3, 5]
[6, 2, 1, 5, 3, 4]
[6, 2, 1, 5, 4, 3]
[6, 3, 4, 5, 1, 2]
[6, 3, 4, 5, 2, 1]
[6, 3, 4, 1, 2, 5]
[6, 3, 4, 1, 5, 2]
[6, 3, 4, 2, 5, 1]
[6, 3, 4, 2, 1, 5]
[6, 3, 5, 1, 2, 4]
[6, 3, 5, 1, 4, 2]
[6, 3, 5, 2, 4, 1]
[6, 3, 5, 2, 1, 4]
[6, 3, 5, 4, 1, 2]
[6, 3, 5, 4, 2, 1]
[6, 3, 1, 2, 4, 5]
[6, 3, 1, 2, 5, 4]
[6, 3, 1, 4, 5, 2]
[6, 3, 1, 4, 2, 5]
[6, 3, 1, 5, 2, 4]
[6, 3, 1, 5, 4, 2]
[6, 3, 2, 4, 5, 1]
[6, 3, 2, 4, 1, 5]
[6, 3, 2, 5, 1, 4]
[6, 3, 2, 5, 4, 1]
[6, 3, 2, 1, 4, 5]
[6, 3, 2, 1, 5, 4]
[6, 4, 5, 1, 2, 3]
[6, 4, 5, 1, 3, 2]
[6, 4, 5, 2, 3, 1]
[6, 4, 5, 2, 1, 3]
[6, 4, 5, 3, 1, 2]
[6, 4, 5, 3, 2, 1]
[6, 4, 1, 2, 3, 5]
[6, 4, 1, 2, 5, 3]
[6, 4, 1, 3, 5, 2]
[6, 4, 1, 3, 2, 5]
[6, 4, 1, 5, 2, 3]
[6, 4, 1, 5, 3, 2]
[6, 4, 2, 3, 5, 1]
[6, 4, 2, 3, 1, 5]
[6, 4, 2, 5, 1, 3]
[6, 4, 2, 5, 3, 1]
[6, 4, 2, 1, 3, 5]
[6, 4, 2, 1, 5, 3]
[6, 4, 3, 5, 1, 2]
[6, 4, 3, 5, 2, 1]
[6, 4, 3, 1, 2, 5]
[6, 4, 3, 1, 5, 2]
[6, 4, 3, 2, 5, 1]
[6, 4, 3, 2, 1, 5]
[6, 5, 1, 2, 3, 4]
[6, 5, 1, 2, 4, 3]
[6, 5, 1, 3, 4, 2]
[6, 5, 1, 3, 2, 4]
[6, 5, 1, 4, 2, 3]
[6, 5, 1, 4, 3, 2]
[6, 5, 2, 3, 4, 1]
[6, 5, 2, 3, 1, 4]
[6, 5, 2, 4, 1, 3]
[6, 5, 2, 4, 3, 1]
[6, 5, 2, 1, 3, 4]
[6, 5, 2, 1, 4, 3]
[6, 5, 3, 4, 1, 2]
[6, 5, 3, 4, 2, 1]
[6, 5, 3, 1, 2, 4]
[6, 5, 3, 1, 4, 2]
[6, 5, 3, 2, 4, 1]
[6, 5, 3, 2, 1, 4]
[6, 5, 4, 1, 2, 3]
[6, 5, 4, 1, 3, 2]
[6, 5, 4, 2, 3, 1]
[6, 5, 4, 2, 1, 3]
[6, 5, 4, 3, 1, 2]
[6, 5, 4, 3, 2, 1]
共用了1毫秒。
------------------
z,x,y
共用了0毫秒。
------------------
共用了0毫秒。
[az, bx, cy]
------------------
共用了0毫秒。
[ay, bz, cw]
[ay, bx, cw]
[az, bw, cy]
[az, bx, cy]
[az, bx, cw]
[az, by, cw]
[aw, bx, cy]
[aw, bz, cy]
又一思路(来自网络)
/*
* 求数组中数字的全部排列
*/
public static void print41(String prefix, int[] nums) {
if (nums.length == 1) {
System.out.println(prefix + nums[0]);
}
for (int i = 0; i < nums.length; i++) {
int[] b = new int[nums.length - 1];
System.arraycopy(nums, 0, b, 0, i);
System.arraycopy(nums, i + 1, b, i, nums.length - i - 1);
print41(prefix + nums[i], b);
}
}
public static void main(String[] args) {
int[] nums = { 1, 2, 3, 5 };
T2.print41("", nums);
}
输出:
1235
1253
1325
1352
1523
1532
2135
2153
2315
2351
2513
2531
3125
3152
3215
3251
3512
3521
5123
5132
5213
5231
5312
5321