# Count Numbers with Unique Digits LeetCode Solution

Here, We see Count Numbers with Unique Digits LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

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

## Count Numbers with Unique Digits Leetcode SolutionC++

``````class Solution {
public:
int countNumbersWithUniqueDigits(int n) {
int sum = 1;
if(n > 0)
{
int end = (n > 10)? 10 : n;
for(int i = 0; i < end; i++)
{
sum += 9 * permutation(9, i);
}
}
return sum;
}
int permutation(int n, int r)
{
if(r == 0)
{
return 1;
}else{
return n * permutation(n - 1, r - 1);
}
}
};```Code language: PHP (php)```

## Count Numbers with Unique Digits Leetcode SolutionJava

``````class Solution {
public int countNumbersWithUniqueDigits(int n) {
if (n > 10) {
return countNumbersWithUniqueDigits(10);
}
int count = 1; // x == 0
long max = (long) Math.pow(10, n);
boolean[] used = new boolean[10];
for (int i = 1; i < 10; i++) {
used[i] = true;
count += search(i, max, used);
used[i] = false;
}
return count;
}
private int search(long prev, long max, boolean[] used) {
int count = 0;
if (prev < max) {
count += 1;
} else {
return count;
}
for (int i = 0; i < 10; i++) {
if (!used[i]) {
used[i] = true;
long cur = 10 * prev + i;
count += search(cur, max, used);
used[i] = false;
}
}
return count;
}
}```Code language: PHP (php)```

## Count Numbers with Unique Digits SolutionJavaScript

``````var countNumbersWithUniqueDigits = function(n) {
return [1,10,91,739,5275,32491,168571,712891,2345851][n]
};```Code language: JavaScript (javascript)```

## Count Numbers with Unique Digits SolutionPython

``````class Solution(object):
def countNumbersWithUniqueDigits(self, n):
def count(k):
if k == max(10 - n, 0):
return 0
return k*(1 + count(k - 1))
if n == 0:
return 1
return 9*count(9) + 10   ``````
Scroll to Top