其实这题就是在考字典序全排列,然后计算出总的排列数(n的阶乘),倒数第Q个排列即为正数(n!-Q+1)个排列,但是注意在python中的index是从0开始的。 所以当找到给定排列的位置idx后,倒数第Q个排列的位置是:(n!-(idx+1)+1)-1 = n!-idx-1 考试的时候傻了,用一个list去储存所有的排列,其实根本不需要的。 真的傻了傻了。 def permute(nums, n, total): cnt = 0 idx = 0 while True: try: if nums == myin...