357 Count Numbers with Unique Digits
01, 02, 03 ... 09
12, 13, 14 ... 19
21, 23, 24 ... 29012, 013, .. 019
021, 023, .. 029
031, 032, .. 039
...
091, 092, .. 098Last updated
01, 02, 03 ... 09
12, 13, 14 ... 19
21, 23, 24 ... 29012, 013, .. 019
021, 023, .. 029
031, 032, .. 039
...
091, 092, .. 098Last updated
int permutation(int num, int choose)
{
int cur = 1;
int go_to = num - choose;
for (int i = num; i > go_to; i--)
cur *= i;
return cur == 1 ? 0 : cur;
}
int countNumbersWithUniqueDigits(int n)
{
if (n == 0) return 1;
int prev_perm = 0;
for (int i = 1; i <= n; i++) {
prev_perm += permutation(10, i) - permutation(9, i - 1);
}
return prev_perm;
}