class Solution {
private:
int a[10];
bool used[10];
string res;
public:
string getPermutation(int n, int k) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
res = "";
for (int i = 1; i <= n; ++i)
used[i] = false;
dfs(0, n, k);
return res;
}
void dfs(int idx, int& n, int& k)
{
if (k == 0)
return;
if (idx == n)
{
--k;
if (k == 0)
{
for (int i = 0; i < n; ++i)
{
res += (char)(a[i] + '0');
}
}
}
for (int i = 1; i <= n; ++i)
{
if (!used[i])
{
a[idx] = i;
used[i] = true;
dfs(idx + 1, n, k);
used[i] = false;
}
}
}
};
[Leetcode] Permutation Sequence
最新推荐文章于 2021-03-22 00:24:14 发布