We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列。
按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:
给定 n 和 k,返回第 k 个排列。
示例 1:
输入:n = 3, k = 3 输出:"213"
示例 2:
输入:n = 4, k = 9 输出:"2314"
示例 3:
输入:n = 3, k = 1 输出:"123"
提示:
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/permutation-sequence 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
const getPermutation = (n, k) => { const nums = new Array(n).fill().map((_, i) => i + 1) const totalArr = [0, 1] for (let i = 2; i <= n; i++) { totalArr[i] = totalArr[i - 1] * i } let total = totalArr[n], res = '' while (nums.length) { const index = Math.ceil(k / total * n) - 1 const num = nums.splice(index, 1)[0] res += num k = k % (total / n) || (total / n) total = totalArr[--n] } return res }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列。
按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:
给定 n 和 k,返回第 k 个排列。
示例 1:
示例 2:
示例 3:
提示:
The text was updated successfully, but these errors were encountered: