Problem 357: Count Numbers with Unique Digits
https://leetcode.com/problems/count-numbers-with-unique-digits/
思路
数学题,排列组合
相当于是 n 位的一串数,求最后能组成多少个各位都不相同的数字
public class Solution {
public int countNumbersWithUniqueDigits(int n) {
if (n == 0) return 1;
int rst = 10;
int uniqueDigit = 9;
int availableDigit = 9;
while (n > 1 && availableDigit > 0) {
uniqueDigit = uniqueDigit * availableDigit;
rst += uniqueDigit;
availableDigit--;
n--;
}
return rst;
}
}
Last updated
Was this helpful?