博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Combination Sum @ Python
阅读量:6484 次
发布时间:2019-06-23

本文共 1258 字,大约阅读时间需要 4 分钟。

原题地址:https://oj.leetcode.com/problems/combination-sum/

题意:

Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.

The same repeated number may be chosen from C unlimited number of times.

Note:

  • All numbers (including target) will be positive integers.
  • Elements in a combination (a1, a2, … , ak) must be in non-descending order. (ie, a1 ≤ a2 ≤ … ≤ ak).
  • The solution set must not contain duplicate combinations.

 

For example, given candidate set 2,3,6,7 and target 7

A solution set is: 
[7] 
[2, 2, 3] 

解题思路:穷举出符合条件的组合,我们一般考虑dfs。

代码:

class Solution:    # @param candidates, a list of integers    # @param target, integer    # @return a list of lists of integers    def DFS(self, candidates, target, start, valuelist):        length = len(candidates)        if target == 0:            return Solution.ret.append(valuelist)        for i in range(start, length):            if target < candidates[i]:                return            self.DFS(candidates, target - candidates[i], i, valuelist + [candidates[i]])            def combinationSum(self, candidates, target):        candidates.sort()        Solution.ret = []        self.DFS(candidates, target, 0, [])        return Solution.ret

 

转载地址:http://wriuo.baihongyu.com/

你可能感兴趣的文章
通过Chrome模拟和调试网速慢的情况来限制一些P2P视频网站上传速度占满的情况...
查看>>
聚焦智造 共筑生态——“2016智能硬件生态圈品牌交流会”即将举行
查看>>
量子计算: 1秒完成传统计算机100年的任务量
查看>>
hosts文件中同一个域名两个IP的解析顺序
查看>>
MAC jupyter notebook
查看>>
十份图表改变您对大数据增长的观点
查看>>
工信部IC power大讲堂(南京)开班,特邀国际名家做核心技术分享
查看>>
2018-05-17 第十一天
查看>>
JSP中访问数据库
查看>>
逻辑回归算法
查看>>
大型分布式C++框架《四:netio之请求包中转站 上》
查看>>
A Complete ActiveX Web Control Tutorial
查看>>
NOKIA Update for Windows Phone
查看>>
任天堂和VR,是要“重新牵手”还是“分道扬镳”?
查看>>
PostgreSQL 9.4版本的物化视图更新
查看>>
不要滥用UNLOGGED table 和 hash index
查看>>
Unity下个月将推出开源VR编辑器,让VR内容开发so easy
查看>>
经典排序之冒泡排序代码
查看>>
再谈软件测试-工作感悟
查看>>
nginx中文件路径表示方法
查看>>