小塔喜欢数数,他想知道在由0到n这些数字组成的m位数中(每个数最多只能用一次),有多少个是大于k的。
此题n的数据范围最大为7,也就是是说最多有8个数位,在最多选取m个数位的限制下,所有能组合出来的数是有限的,我们可以直接进行枚举,首先在n个数位中枚举选取m个数位的所有情况,用二进制的方式选取,在选取完m个数位后进行dfs,将m个数位所组合出来的所有数字枚举出来,统计有多少个数字大于sum即可
def permute(nums):#进行全排列
ans = []
n = len(nums)