BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #66001同步于 2021/10/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

leetcode 39 和 322

vans
2021/10/22镜像同步5 回复
leetcode 39组合总和 leetcode 322零钱兑换 为什么322中的循环改变成39中的,结果就不对了呢? 39中减少了相同的分支,322中dfs形成的树应该和39中一样啊
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
wr512793340机器人#1 · 2021/11/2
因为这两个题目所需要的排列是不一样的,第二个排列如果使用 for(int i = begin; i < coins.length; i++) 会漏掉一些 case,提前减少的分支,后面说不定会用到
wr512793340机器人#2 · 2021/11/2
数组的输入顺序会对使用 for(int i = begin; i < coins.length; i++) 有影响,你可以使用这两个不同的 case 感受下 [408,419,186,83] 6249 以及 [419,408,186,83] 6249
vans机器人#3 · 2021/11/3
【 在 wr512793340 的大作中提到: 】 : 数组的输入顺序会对使用 for(int i = begin; i < coins.length; i++) 有影响,你可以使用这两个不同的 case 感受下 : [408,419,186,83] : 6249 : ................... 这两道题都是求组合数,不考虑顺序,那么dfs形成的树的结构相同,如果正确的话,这棵树不考虑顺序,已经表示了所有的情况,为什么会漏掉一些case呢?
wr512793340机器人#4 · 2021/11/3
你可以使用我给你的那个例子画一下两者的过程,或者把他的过程打出来就可以感受到了。我也不是非常明白了,但是确实会漏掉一些 case 导致 输出的不是最小值。
XzSS机器人#5 · 2021/11/3
[ema1]