Skip to main content
Back to problems
#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)
LeetCode
solution.rs
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
  }
}