leetcode-60-第k个排列
题目描述:
方法一:
class Solution: import math def getPermutation(self, n: int, k: int) -> str: result = '' mod = k-1 if n==1:return '1' n_set = [str(i) for i in range(1,n+1)] fac_n = math.factorial(n-1) for i in range(n): val,mod = divmod(mod,fac_n) #print(i,fac_n,val,mod,result,n_set) fac_n = fac_n//(n-i-1) result+=n_set[val] del n_set[val] if mod==0: for i in n_set: result+=i return result return result