您的位置:首页 > 产品设计 > UI/UE

Count Numbers with Unique Digits

2016-07-26 12:38 513 查看
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n.

Example:
Given n = 2, return 91. (The answer should be the total numbers in the range of 0 ≤ x < 100, excluding
[11,22,33,44,55,66,77,88,99]
)

public class Solution {
public int countNumbersWithUniqueDigits(int n) {

if (n < 1) return 1;
if (n == 1) return 10;  // 0 - 10
int count = countNumbersWithUniqueDigits(n - 1); // 1 到 n-1 位数。
int result = 9;  // there are 9 choices in the first number. 9 in the second number, 8 in the third, 7 in the fourth number.......
for (int i = 0; i < n - 1; i++) {  // n位数
result = result * (9 - i);
}
return count + result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: