60. Permutation Sequence
class Solution:
def getPermutation(self, n: int, k: int) -> str:
fact = [1] * (n+1)
for i in range(2, n+1):
fact[i] = fact[i-1] * i
res = ''
numGroups = n
digits = '123456789'
k -= 1
for _ in range(n):
d = k // fact[numGroups - 1]
res += digits[d]
digits = digits[:d] + digits[d+1:]
k = k % fact[numGroups - 1]
numGroups -= 1
return res