60. 排列序列
60. 排列序列
题目链接:60. 排列序列
代码如下:
class Solution
{
public:string getPermutation(int n, int k){vector<int> factorial(n);factorial[0] = 1;for (int i = 1; i < n; i++){factorial[i] = factorial[i - 1] * i;}--k;string res;vector<int> valid(n + 1, 1);for (int i = 1; i <= n; i++){int order = k / factorial[n - i] + 1;for (int j = 1; j <= n; j++){order -= valid[j];if (!order){res += (j + '0');valid[j] = 0;break;}}k %= factorial[n - i];}return res;}
};