leetcode一道新题我不懂# JobHunting - 待字闺中
c*u
1 楼
就是第357题 Count Numbers with Unique Digits。题目给了提示,通项公式是:
f(k) = 9 * 9 * 8 * ... (9 - k + 2)。具体就是
f(1) = 10
f(2) = 9 * 9
f(3) = f(2) * 8
f(4) = f(3) * 7
...
但是我觉得这种算法里f(3)没有包含201这个数。原因是:求f(3)时,先看只有两位时
的值(也就是f(2)),然后在放上第3位,于是结果是f(2) * 8。但是这么算时,f(2)
里面不包含01这个数,所以求出来的f(3)不包含201、301。。。901这些数。
我知道我想错了, 暴力破解报所有数打印出来结果和leetcode一致。
请问我哪里想错了呢?
f(k) = 9 * 9 * 8 * ... (9 - k + 2)。具体就是
f(1) = 10
f(2) = 9 * 9
f(3) = f(2) * 8
f(4) = f(3) * 7
...
但是我觉得这种算法里f(3)没有包含201这个数。原因是:求f(3)时,先看只有两位时
的值(也就是f(2)),然后在放上第3位,于是结果是f(2) * 8。但是这么算时,f(2)
里面不包含01这个数,所以求出来的f(3)不包含201、301。。。901这些数。
我知道我想错了, 暴力破解报所有数打印出来结果和leetcode一致。
请问我哪里想错了呢?