357-Count-Numbers-with-Unique-Digits
Last updated
Was this helpful?
Last updated
Was this helpful?
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。
测试用例:
示例: 输入: 2 输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。
这道题其实是个数学题。
对于n=1,各位数字都不相同。所以有10个。
对于n=2,第一位数字有9种选择,范围在1~9
,而第二位数字也有9种选择,0~9
排除上一位相同的数字。那么如果第一位是0
,就是n==1
的情况,把n==1
的结果加上就好了
对于n=3,第一位数字有9种选择,范围在1~9
,第二位数字有9种选择,第三位数字有8种选择。如果第一位是0
,就是n==2
的情况,把n==2
的结果加上就好了
规律已经出来咯,简单的排列组合。
数学题就是找规律,最烦这种题了。