Leetcode 3483. Unique 3-Digit Even Numbers

  • [Leetcode 3483. Unique 3-Digit Even Numbers](#Leetcode 3483. Unique 3-Digit Even Numbers)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题其实是一个easy的题目,因为限制条件有限,最暴力的方法就是直接遍历一下100到999的全部数字,看看那些数字可以被构成即可。

我们这里稍微做的复杂了一点,用了迭代的思路,分别考察每一位上的可取数字,看起来更好看了一些而已......

2. 代码实现

给出python代码实现如下:

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 = 0
            st = 0 if idx == 1 else 1
            for i in range(st, 10):
                if cnt[i] > 0:
                    cnt[i] -= 1
                    ans += dp(idx+1)
                    cnt[i] += 1
            return ans
        
        return dp(0)

提交代码评测得到:耗时19ms,占用内存18.2MB。

相关推荐
老鼠只爱大米20 小时前
LeetCode经典算法面试题 #98:验证二叉搜索树(递归法、迭代法等五种实现方案详解)
算法·leetcode·二叉树·递归·二叉搜索树·迭代
醉殇姒若梦遗年2 天前
Cascader 级联选择器---遍历获取id的路径
遍历·cascader·级联选择器·获取id路径
2401_841495643 天前
【LeetCode刷题】二叉树的中序遍历
数据结构·python·算法·leetcode··递归·遍历
大熊猫侯佩5 天前
星际穿越:SwiftUI 如何让 ForEach 遍历异构数据(Heterogeneous)集合
swiftui·swift·遍历·foreach·any·异构集合·heterogeneous
老鼠只爱大米8 天前
LeetCode经典算法面试题 #24:两两交换链表中的节点(迭代法、递归法等多种实现方案详细解析)
算法·leetcode·链表·递归·双指针·迭代·链表交换
2401_8414956410 天前
【LeetCode刷题】删除链表的倒数第N个结点
数据结构·python·算法·leetcode·链表·遍历·双指针
SunkingYang17 天前
QT中如何遍历QStringList
qt·解析·遍历·方式·读取·qstringlist
SunkingYang18 天前
QT中如何遍历QStringList中的一部分存储到另外一个QStringList
qt·遍历·子集·qstringlist·另一个
Espresso Macchiato1 个月前
Leetcode 3782. Last Remaining Integer After Alternating Deletion Operations
迭代·leetcode hard·leetcode双周赛172·leetcode 3782
Tisfy1 个月前
LeetCode 1351.统计有序矩阵中的负数:O(m+n)时间复杂度——抽象题解
算法·leetcode·矩阵·题解·遍历