# The set [1,2,3,…,n] contains a total of n! unique permutations.## By listing and labeling all of the permutations in order,# We get the following sequence (ie, for n = 3):## "123"# "132"# "213"# "231"# "312"# "321"# Given n and k, return the kth permutation sequence.## Note: Given n will be between 1 and 9 inclusive.
classSolution():defgetPermutation(self, n, k):import math
seq, k, fact, perm = "", k - 1, math.factorial(n - 1), list(range(1, n + 1))
for i in reversed(range(n)):
curr = perm[k // fact]
seq += str(curr)
perm.remove(curr)
if i > 0:
k %= fact
fact //= i
return seq
if __name__ == "__main__":
assert Solution().getPermutation(3, 2) == '132'