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 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.
Given k will be between 1 and n! inclusive.
Example 1:
Input: n = 3, k = 3
Output: "213"
Example 2:
Input: n = 4, k = 9
Output: "2314"
class Solution {
public:
string getPermutation(int n, int k) {
if(k==0) return "";
if(n==0) return "";
int t=0;
int a[n];
for(int i=0;i<n;i++)
a[i]=i+1;
do {
t++;
if(t==k)
{
string str;
for(int i=0;i<n;i++)
str=str+to_string(a[i]);
return str;
}
} while (next_permutation(a,a+n) );
return "";
}
};