查看: 1345| 回复: 7
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 39. Combination Sum 检查了很久不知道代码哪里有问题。。。。。。。。。。。。。。。

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
class Solution:
    def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:
        def dfs(candidates, index, summ, target, listt):
            if summ == target:
                result.append(listt)
                return
            if summ > target:
                return
            for i in range(index, len(candidates)):
                listt.append(candidates[i])
                summ = summ + candidates[i]
                dfs(candidates, i, summ, target, listt)
                summ = summ - candidates[i]
                listt.pop()
        result = []
        dfs(candidates, 0, 0, target, [])
        return result

这代码运行后,输出是[[], []]。检查半天也不知道哪有问题,妄解惑,谢谢!







上一篇:请问现在还有哪些不支持 Python 面试的大厂
下一篇:Closest Pair of Point代码有bug,希望得到指点(java)
全局:
Result.add(list)
此处需要clone
回复

使用道具 举报

推荐
duao119 2021-8-15 00:03:10 | 只看该作者
全局:
我认为debug的最好办法永远是打断点一步一步跑
回复

使用道具 举报

🔗
 楼主| ATPtennis 2021-8-14 23:34:17 | 只看该作者
全局:
aniu123 发表于 2021-8-14 16:02
Result.add(list)
此处需要clone

python 的列表没有add方法好像
回复

使用道具 举报

🔗
 楼主| ATPtennis 2021-8-15 00:07:42 | 只看该作者
全局:
aniu123 发表于 2021-8-14 16:02
Result.add(list)
此处需要clone

知道原因了,result那行要写成result.append(copy.deepcopy(listt))。

目前我需要去查一查什么是深拷贝,为什么要这么写。补一下缺失的知识。
回复

使用道具 举报

🔗
 楼主| ATPtennis 2021-8-15 00:08:35 | 只看该作者
全局:
aniu123 发表于 2021-8-14 16:02
Result.add(list)
此处需要clone

就这一个地方,整整卡了我4-5个小时。。。。。。。

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
我昨天刚好做这个题也是犯了同一个错误哈哈
回复

使用道具 举报

🔗
vvqqdd 2021-8-29 02:40:48 | 只看该作者
全局:
如果是java的话 就是 new arrayList<>(path)
可以多看看国区的评论,很多人有犯这个错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表