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 content;
vector<int> left;
int factor = 1;
for (int i = 1; i <= n; i++)
{
left.push_back('0' + i);
factor *= i;
}
int i = n;
k--;
while (i)
{
factor /= (i--);
content += left[k / factor];
left.erase(left.begin() + k/factor);
k -= k / factor * factor;
}
return content;
}