- Leetcode 3483. Unique 3-Digit Even Numbers
- 1. 解题思路
- 2. 代码实现
- 题目链接:3483. Unique 3-Digit Even Numbers
1. 解题思路
这一题其实是一个easy的题目,因为限制条件有限,最暴力的方法就是直接遍历一下100到999的全部数字,看看那些数字可以被构成即可。
我们这里稍微做的复杂了一点,用了迭代的思路,分别考察每一位上的可取数字,看起来更好看了一些而已……
2. 代码实现
给出python代码实现如下:
class Solution:def totalNumbers(self, digits: List[int]) -> int:cnt = Counter(digits)def dp(idx):if idx == 2:return len([i for i in range(0, 10, 2) if cnt[i] != 0])ans = 0st = 0 if idx == 1 else 1for i in range(st, 10):if cnt[i] > 0:cnt[i] -= 1ans += dp(idx+1)cnt[i] += 1return ansreturn dp(0)
提交代码评测得到:耗时19ms,占用内存18.2MB。