题目
思路 数学
排列组合,位数i从1开始计算10个数字排列成i位数的可能组合数,要考虑第一位不能是0。
代码
class Solution {
public:
int countNumbersWithUniqueDigits(int n) {
int ans = 1;
for(int i = 1; i <= n; i++){
int cur = 9;
for(int j = 9; j >= (10 - i + 1); j--){
cur *= j;
}
ans += cur;
}
return ans;
}
};