package 二〇一七年三月二十四日;
public class 今有7对数字 {
/*
* 今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。
* 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:
*
* 17126425374635
*
* 当然,如果把它倒过来,也是符合要求的。
*
* 请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。
*/
public static void main(String[] args) {
int[] arr = { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
f(arr, 0);
}
/**
* 全排列
*
* @param arr
* @param i
*/
public static void f(int[] arr, int i) {
if (arr.length - 1 == i) {
} else {
for (int x = i; x < arr.length; x++) {
int temp = arr[x];
arr[x] = arr[i];
arr[i] = temp;
f(arr, i + 1);
temp = arr[x];
arr[x] = arr[i];
arr[i] = temp;
}
}
}
}
蓝桥杯-今有7对数字
最新推荐文章于 2022-12-29 19:13:55 发布