動機
高中排列組合
Problem
Given an integer n
, return the count of all numbers with unique digits, x
, where 0 <= x < 10n
.
Example 1:
Input: n = 2Output: 91Explanation: The answer should be the total numbers in the range of 0 ≤ x < 100, excluding 11,22,33,44,55,66,77,88,99
Example 2:
Input: n = 0Output: 1
Constraints:
0 <= n <= 8
Sol
class Solution:
def countNumbersWithUniqueDigits(self, n: int) -> int:
if n == 0:
return 1
else:
return sum(9*perm(9,x-1) for x in range(1,n+1))+1