原文参考链接:https://www.cnblogs.com/ariel-dreamland/p/9149577.html
//第k个排列
getPermutation (n, k) {
let arr = [], i, j, res = [], temp, result = ''
//放入n个数
for (i = 0; i < n; i++) {
arr[i] = i+1
}
//下标应该减一
--k
//算出arr中的数字下标并取出
for (j = n; j >= 1; j--) {
let c = Math.floor(k / (this.digui(j) / j) )
k %= this.digui(j - 1)
res.push(arr.splice(c, 1)[0])
}
//转换成字符串
res.forEach((item, index) => {
result += parseInt(item)
})
console.log(result)
},
digui (n) {
if (n <= 1) return 1
return this.digui(n-1) * n
}