lexicographic-rank.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:Leetcode 作者: staticor 项目源码 文件源码
def findPermutation(s, rank):
    n = len(s)
    step = factorial(n)
    perm = ''
    s = sorted(s)
    # if rank == 0:
    #     return s
    index = 0
    for i in range(0, n):
        step /= (n - i)
        index = int((rank) // step)
        # if index > 0:
        perm += s[index]
        s = s[:index] + s[index+1:]
        rank -= (index) * step
        # else:  # index == 0
        #     perm += s[0]
        #     s = s[1:]
        # print(perm, '\t***', rank)
    return perm
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号