/*
n个数有n!个排列,第k个排列,是以第(k-1)/(n-1)!个数开头的集合中第(k-1)%(n-1)!个数
*/
public String getPermutation(int n, int k) {
k--;
List<Integer> list = new ArrayList<>();
StringBuilder res = new StringBuilder();
int count =1;
//以每个数字开头的集合有多少中排列
for (int i = 2; i <= n -1; i++) {
count*=i;
}
//记录哪些数字还没用
for (int i = 1; i <=n ; i++) {
list.add(i);
}
//回合数,也就是小集合的size
int round = n-1;
while (round>=0)
{
int num = list.get(k/count);
res.append(num);
list.remove(k/count);
if (round>0)
{
k = k%count;
count/=round;
}
round--;
}
return res.toString();
}

最新文章

  1. Struts2入门(六)——国际化
  2. 深入理解Java:String
  3. myeclipse如何设置字体?
  4. 庞巴迪TCMS学习笔记之一(IEC 61131-3函数)
  5. Android之NetworkOnMainThreadException异常
  6. Delphi动态创建组件,并释放内存
  7. 最短路径算法——Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson
  8. (中等) POJ 2948 Martian Mining,DP。
  9. [国嵌攻略][061][2440LCD驱动设计]
  10. 将python2代码转为python3
  11. unittest 出报告 并配合 jenkins,发现有用例错误,但是构建没出现红点 的解决方法
  12. luogu P1445 [Violet]嘤F♂A
  13. RDD、DataFrame、Dataset三者三者之间转换
  14. 2018面向对象程序设计(Java)第8周学习指导及要求
  15. Oracle 密码失灵
  16. 分布式唯一id生成器的想法
  17. codeforces1111 简单题【DE】简要题解
  18. 【AtCoder Regular Contest 080E】Young Maids [堆][线段树]
  19. laravel 数据库操作
  20. js中的cookie使用和vue-cookie的使用

热门文章

  1. CSS色调旋转滤镜
  2. LeetCode 026 Remove Duplicates from Sorted Array
  3. JDK8HashMap的一些思考
  4. 使用Verilog搭建一个单周期CPU
  5. Cys_Control(一) 项目搭建
  6. 学习PKI技术【理论+实战】
  7. drf的权限扩充
  8. Mysql-索引分析查询性能
  9. moviepy1.03音视频剪辑:使用manual_tracking和headblur实现追踪人脸打马赛克
  10. Zookeeper的基本原理(zk架构、zk存储结构、watch机制、独立安装zk、集群间同步复制)