Back to all solutions
#3032 - Count Numbers With Unique Digits II
Problem Description
Given two positive integers a and b, return the count of numbers having unique digits in the range [a, b] (inclusive).
Solution
/**
* @param {number} a
* @param {number} b
* @return {number}
*/
var numberCount = function(a, b) {
let result = 0;
for (let number = a; number <= b; number++) {
if (hasUniqueDigits(number)) {
result++;
}
}
return result;
function hasUniqueDigits(number) {
const set = new Set();
while (number > 0) {
const digit = number % 10;
if (set.has(digit)) {
return false;
}
set.add(digit);
number = Math.floor(number / 10);
}
return true;
}
};