1class Solution:2def getPermutation(self, n: int, k: int) -> str:3nums = [i for i in range(1, n + 1)] # list of numbers from 1 to n4factorial = [1] * n5for i in range(1, n):6factorial[i] = factorial[i - 1] * i78k -= 19result = []10for i in range(n - 1, -1, -1):11index = k // factorial[i]12result.append(str(nums[index]))13nums.pop(index)14k = k % factorial[i]1516return "".join(result)