60. Permutation Sequence
来源:互联网 发布:cookie登录 php 编辑:程序博客网 时间:2024/06/05 20:12
给定1~n 计算1~n 的n!个排列 求第k个排列是多少
第k个排列的第一个数字是index=(k-1)/(n-1)! 因为第一个数字确定以后 有(n-1)!种后续排列,去掉确定好的第一个数字,剩下的n-1个数字排列的第一个应该是 (n-1)!中的第k-index*(n-1)!个
public class Solution { private int calFactorial(int n){ int ans=1; for(int i=1;i<=n;i++){ ans*=i; } return ans; } public String getPermutation(int n, int k) { StringBuilder ans=new StringBuilder(""); int num=k; StringBuilder s=new StringBuilder(""); int factorial=calFactorial(n); for(int i=1;i<=n;i++){ s.append(i); } for(int i=n;i>=1;i--){ factorial/=i; int index=(num-1)/factorial; String tmp=""+s.charAt(index); ans.append(tmp); // num=num%factorial; num-=index*factorial; s=s.deleteCharAt(index); } return ans.toString(); } }
0 0
- LeetCode --- 60. Permutation Sequence
- [Leetcode] 60. Permutation Sequence
- [leetcode] 60.Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- **LeetCode 60. Permutation Sequence
- leetcode 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- 60. Permutation Sequence
- [LeetCode]60. Permutation Sequence
- LeetCode *** 60. Permutation Sequence
- 60. Permutation Sequence
- LeetCode 60. Permutation Sequence
- hiho 60. Permutation Sequence
- leetcode 60. Permutation Sequence
- 应用内切换主题有哪些方案可以实现
- javaweb--Tomcat>>更改Tomcat的默认配置
- js进阶学习之--闭包的理解
- 论高中“集”与C语言“数组”的关系
- XCode 快捷键
- 60. Permutation Sequence
- CODEFORCES 272D Dima and Two Sequences <排列组合>
- Cocos网络访问——代理模式(2)
- Hibernate应用的优化
- 二叉树
- POJ 1961 Period(KMP)
- 【CQYZ-vijos】P1333 舞伴的搭配(贪心算法)
- C++中虚函数解析
- 日期类问题