前天上午的面试遇到了一个用java实现一串数字的全排列的题,想来想去用递归最方便,可是没有在规定的时间内完成555,今天上午有空便继续写,以下是完成后的代码:

import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set; /*
* java实现一串数字的全排列
* @Author: WinjayYu
*/
public class TestPermutation { static int[] arr = { 1, 2, 3, 4 };
static Set set = new HashSet(); public static void main(String[] args) {
new TestPermutation().sort(0,arr.length);
for(Iterator it = set.iterator(); it.hasNext();) {
System.out.println(it.next().toString());
}
} public void sort(int index, int length) {
int temp; set.add(Arrays.toString(arr)); for (int i = index; i <= length - 1; i++) { temp = arr[index];
arr[index] = arr[i];
arr[i] = temp;
sort(index + 1, length);
temp = arr[index];
arr[index] = arr[i];
arr[i] = temp;
} } }

原创博客,转载请注明。

最新文章

  1. SparkConf加载与SparkContext创建(源码阅读四)
  2. 移动Web开发规范
  3. 20145223《Java程序设计》实验报告3
  4. jquery ajax传递多个对象或数组到后台
  5. 3. Map与Tuple
  6. 动态规划入门——Eddy&#39;s research II
  7. 数据采集工具flume
  8. 得到View Frustum的6飞机
  9. Java中的Builder模式
  10. UIButton 解析
  11. 地址选择的,弹出的下拉。select。通过《option》《/option》来隔开
  12. javascript 生成 uuid
  13. day02-多线程之线程安全
  14. python 函数运算先于单目运算
  15. 系列文章|OKR与敏捷(三):赋予团队自主权
  16. 数据库的数据进行改动,Cognos报表展示未及时更新
  17. Hdoj 1086.You can Solve a Geometry Problem too 题解
  18. Java IO--NIO(一)
  19. 使用Idea创建多Module工程
  20. Qt5_pro_01

热门文章

  1. List提取相同元素
  2. js 数组删去重复的加上没有的元素
  3. October 26th Week 44th Wednesday 2016
  4. 请慎用java的File#renameTo(File)方法
  5. Mysql Master-slave 主从配置
  6. Linux面试知识点总结
  7. Python 创建本地服务器环境生成二维码
  8. Web Service 的创建简单编码、发布和部署
  9. 前端知识杂烩(Javascript篇)
  10. java 读写properties (配置)文件