LeetCode刷题(35)--Permutation Sequence

来源:互联网 发布:berkeley db java 编辑:程序博客网 时间:2024/05/17 08:41

对于第一个数字,剩余共有(n-1)!中排列,因此第一个数字为k/(n-1)!,之后的数字依次类推

import mathclass Solution(object):    def getPermutation(self, n, k):        """        :type n: int        :type k: int        :rtype: str        """        numbers = range(1, n+1)        res = ''        k -= 1        while n > 0:            n -= 1            num, k = divmod(k, math.factorial(n))            res += str(numbers[num])            numbers.remove(numbers[num])        return res
原创粉丝点击