题目:

题解:
class Solution:
def getPermutation(self, n: int, k: int) -> str:
factorial = [1]
for i in range(1, n):
factorial.append(factorial[-1] * i)
k -= 1
ans = list()
valid = [1] * (n + 1)
for i in range(1, n + 1):
order = k // factorial[n - i] + 1
for j in range(1, n + 1):
order -= valid[j]
if order == 0:
ans.append(str(j))
valid[j] = 0
break
k %= factorial[n - i]
return "".join(ans)
这段代码定义了一个名为`getPermutation`的函数,用于生成给定整数n和k的排列,通过计算阶乘和迭代来确定每个位置的数字顺序。
563

被折叠的 条评论
为什么被折叠?



