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.
这道题如果用正常的递归的方法来求解的话将导致超时发生,因此必须采用新的方法来求解
string getPermutation(int n, int k) {
string res;
string num="123456789";
vector<int> f(n,1);
for(int i=1;i<n;i++)
f[i]=f[i-1]*i;
k--;
for(int i=n;i>=1;i--){
int j=k/f[i-1];
k=k%f[i-1];
res.push_back(num[j]);
num.erase(j,1);
}
return res;
}