Count numbers with unique digits
November 11, 2022
math-and-geometryProblem URL: Count numbers with unique digits
For the first (most left) digit, we have 9 options (no zero); for the second digit we used one but we can use 0 now, so 9 options; and we have 1 less option for each following digits. Number can not be longer than 10 digits.
class Solution:
def countNumbersWithUniqueDigits(self, n: int) -> int:
res, temp = 1, 1
for i in range(1, n+1):
res = 9 * temp + res
temp = temp * (10-i)
return res
Time Complexity: O(n)
Space Complexity: O(1)