ID | Title | Difficulty | |
---|---|---|---|
Loading... |
357. Count Numbers with Unique Digits
Medium
LeetCode
Math, Dynamic Programming, Backtracking
Problem
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
Code
class Solution {
public int countNumbersWithUniqueDigits(int n) {
int res = 0;
for(int i = 1; i <= n; i++) {
res += helper(i);
}
return res + 1;
}
private int helper(int n) {
int res = 9;
int base = 9;
while(n > 1 && base > 1) {
res *= base;
base--;
n--;
}
return res;
}
}
按 <- 键看上一题!
356. Line Reflection
按 -> 键看下一题!
358. Rearrange String k Distance Apart