![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论DFS
文章平均质量分 71
Ben土豆
这个作者很懒,什么都没留下…
展开
-
[模版总结] - 集合划分类DFS模版
不难理解,在递归寻找解的过程中,有很多重复解的情况,比如桶1选择2,3,4号球,桶2选择5,6号球,这种情况和桶1选择5,6号球,桶2选择2,3,4号球是重复情况。- 思路很简单,每一层递归是给当前数字选择一个子集合,如果当前子集合超过等分值那么跳过,直到所有数字选完子集合后,比较子集合中是否相等即可。集合划分也是思路和排列组合类似,可以想象成给球分桶的问题,这种类型的题目通常有两个思考方式:给每一个球选桶,给每一个桶选球。这里的球就是指集合中的每一个数,而桶则是指等分的每一个子集合。原创 2023-07-28 15:22:36 · 205 阅读 · 0 评论 -
[Leetcode刷题] - LC017 Letter Combination of a Phone Number
第一项是存储局部字符组合O(N), 第二项是由于我们每一次递归都将当前局部字符组合保存成tmp用于回溯,所以额外开的空间,这样的优点时,省去了每一次直接在字符上增删的O(N)耗时。这是一道Yahoo高频题,电话按键2-9每一个数字对应3-4个字母,现在问询给一个数字组合,返回所有可能的字母组合。一道经典DFS暴力搜索的题目,在递归过程中定义一个变量来保存当前的组合字符。组合树状结构的空间,最坏情况是所有数字都是7,9全部4中选择;,额外只需要开StringBuilder的空间即可。原创 2023-05-20 04:50:32 · 54 阅读 · 0 评论