- 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。