给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n
class Solution: def countNumbersWithUniqueDigits(self, n: int) -> int: if n==0:#当n==0时只有0 return 1 n=min(n,10)#限制10位数以下 res=10#如果是1位数 cur=9#从最高位开始乘 k=9#每次都减去1 for i in range(2,1+n): cur*=k#第二位也可以选9种,和第一位一样,从第三位才开始减去1 k-=1 res+=cur#加上原来的取法 return res