Given an integer n
, return the count of all numbers with unique digits, x
, where 0 <= x < 10n
.
Example 1:
Input: n = 2
Output: 91
Explanation: 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 = 0
Output: 1
Constraints:
-
0 <= n <= 8
SOLUTION:
class Solution:
def countUnique(self, n, used, first):
if n == 0:
return 0
ctr = 0
beg = 0
if first:
beg = 1
for i in range(beg, 10):
if i not in used:
ctr += 1 + self.countUnique(n - 1, used.union({i}), False)
return ctr
def countNumbersWithUniqueDigits(self, n: int) -> int:
return self.countUnique(n, set(), True) + 1
Top comments (0)