#357
Medium Algorithms Count numbers with unique digits
Math Dynamic Programming Backtracking
55.4% acceptance
Jan 12, 2026
1702
1522
Given an integer n, return the count of all numbers with unique digits, x, where 0 <= x < 10n.
Solution
Rust
Time O(n)
Space O(1)
impl Solution {
pub fn count_numbers_with_unique_digits(n: i32) -> i32 {
if n == 0 {
return 1;
}
let mut result = 10; // For n = 1
let mut unique_digits = 9;
let mut available_digits = 9;
for _ in 2..=n.min(10) {
unique_digits *= available_digits;
result += unique_digits;
available_digits -= 1;
}
result
}
}