[leetcode] Permutation Sequence
来源:互联网 发布:自己没货如何开淘宝店 编辑:程序博客网 时间:2024/05/01 06:23
The set [1,2,3,…,n]
contains a total of n! unique permutations.
By listing and labeling all of the permutations in order,
We get the following sequence (ie, for n = 3):
"123"
"132"
"213"
"231"
"312"
"321"
Given n and k, return the kth permutation sequence.
Note: Given n will be between 1 and 9 inclusive.
第一个数的规律就是s[ (k-1)/(n-1)! ]
k的变化为 k = (k-1) % Factorial(n-1) + 1
好多k - 1很不爽,所以直接先k--,再做下面的
我第一次写居然用了递归@@ 弱爆了,直接一个while就可以了
class Solution {public: int Factorial(int x) { return (x == 1 ? x : x * Factorial(x - 1)); } string getPermutation(int n, int k) { // Start typing your C/C++ solution below // DO NOT write int main() function string s(n,'1'); for(int i = 1; i <= n; i++){ s[i-1] = '0' + i; } k--; //if(n == 1 || k == 0) return s; string ret; int idx; while(s.size() > 1){ n = s.size(); idx = k / Factorial(n-1); ret.push_back(s[idx]); s.erase(s.begin() + idx); k = k % Factorial(n-1); } ret.push_back(s[0]); return ret; }};
- LeetCode: Permutation Sequence
- LeetCode Permutation Sequence
- [Leetcode] Permutation Sequence
- [LeetCode] Permutation Sequence
- leetcode 74: Permutation Sequence
- leetcode Permutation Sequence
- [leetcode] Permutation Sequence
- [LeetCode]Permutation Sequence
- LeetCode:Permutation Sequence
- LeetCode-Permutation SequencePermutation Sequence
- [leetcode] Permutation Sequence
- LeetCode - Permutation Sequence
- LeetCode:Permutation Sequence
- LeetCode 60: Permutation Sequence
- Leetcode: Permutation Sequence
- leetcode Permutation Sequence
- LeetCode | Permutation Sequence
- LeetCode Permutation Sequence
- UIImageView 实现水平翻转
- linux 信号处理函数一个例子
- Linux面试题
- 我的php学习笔记(三十四)PHP中正则表达式学习及应用(二)
- 5年记(3)
- [leetcode] Permutation Sequence
- 体验vs2010+opencv2.3.1
- 进程间通信之消息队列
- 字符串周期--hdu 3746 Cyclic Nacklace
- ipcs命令和ipcrm命令介绍
- String与StringBuffer
- Spring3.0 AOP 详解
- HDU 1004 Let the Balloon Rise STL
- 进程间通信之FIFO