#include <iostream>
#include <unordered_set>
int repeated_yes_0_no_1(int n) {
std::unordered_set<int> us;
while (n != 0) {
int digit = n % 10;
if (us.find(digit) != us.end()) { // repeated = yes
return 0;
}
us.insert(digit);
n = n / 10;
}
return 1;
}
int GetTotalNumbersWithNoRepeatedDigits(int start, int end) {
int total = 0;
for (int i = start; i <= end + 1; i++) {
total += repeated_yes_0_no_1(i);
}
return total ;
}
int main()
{
int start = 1, end = 100;
std::cout << GetTotalNumbersWithNoRepeatedDigits(start, end);
}
/*
run:
90
*/