📄 range.java
字号:
package com.dc.test;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.List;
public class Range {
private static int count = 0;
// 循环的次数
private static int loopTime = 0;
// 保存结果的容器
private static ArrayList ls = new ArrayList();
public static void main(String[] args) {
long l1 = Calendar.getInstance().getTimeInMillis();
Integer[] result = new Integer[5];
// 输入的数组为 1, 2, 3, 4, 5 也可以为任意多数组
ArrayList al = new ArrayList(5);
al.add(new Integer(1));
al.add(new Integer(2));
al.add(new Integer(3));
al.add(new Integer(4));
al.add(new Integer(5));
// 递规调用
rotate(result, al, al.size());
for (int i = 0; i < ls.size(); i++) {
System.out.print("this is the " + ++count + " number: ");
System.out.println(ls.get(i));
}
long l2 = Calendar.getInstance().getTimeInMillis();
System.out.println("consume time seconds is: " + (l2 - l1));
System.out.println("loopTime is: " + loopTime);
}
// 递规方法
public static void rotate(Integer[] result, List al, int index) {
index = result.length - index;
if (index == result.length - 1) {
++loopTime;
result[index] = (Integer) al.get(0);
organizeNum(result);
}
for (int s1 = 0; s1 < al.size(); s1++) {
result[index] = (Integer) al.get(s1);
ArrayList al1 = new ArrayList(al);
al1.remove(result[index]);
rotate(result, al1, al1.size());
}
}
// 加入容器
public static void organizeNum(Integer[] result) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < result.length; i++) {
sb.append(result[i].toString());
}
String pstr = sb.toString();
ls.add(pstr);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -