leetcode 39. Combination Sum40
来源:互联网 发布:出版社要出版专业知乎 编辑:程序博客网 时间:2024/05/17 07:00
https://leetcode.com/problems/combination-sum/description/
简单的回溯应用,就是第二个算法写的时候没考虑重复情况,如果排好序之后按每个值的个数依次遍历也是可以的
Combination Sum1
class Solution(object):
def combinationSum(self, candidates, target):
combination=[]
def fd(sum,min,l):
for i in candidates:
if i>=min:
if sum+i<target:
nl=l[:]
nl.append(i)
fd(sum+i,i,nl)
if sum+i==target:
nl=l[:]
nl.append(i)
combination.append(nl)
break
if sum+i>target:
break
candidates.sort()
nnl=[]
fd(0,candidates[0],nnl)
return combination
Combination Sum2
class Solution(object):
def combinationSum2(self, candidates, target):
combination=[]
nnl=[]
def fd(m,sum,l):
if m==len(candidates):
return
fd(m+1,sum,l)
if sum+candidates[m]==target:
nl=l[:]
nl.append(candidates[m])
nl.sort()
if nl in combination:
return
else:
combination.append(nl)
return
if sum+candidates[m]<target:
nl=l[:]
nl.append(candidates[m])
fd(m+1,sum+candidates[m],nl)
fd(0,0,nnl)
return combination
- leetcode 39. Combination Sum40
- [LeetCode]39.Combination Sum
- LeetCode --- 39. Combination Sum
- LeetCode 39.Combination Sum
- [Leetcode] 39. Combination Sum
- Leetcode-39.Combination Sum
- LeetCode 39. Combination Sum
- [LeetCode]39. Combination Sum
- 39. Combination Sum LeetCode
- [leetcode] 39. Combination Sum
- leetcode 39. Combination Sum
- 【leetcode】 39. Combination Sum
- LeetCode 39. Combination Sum
- leetcode 39. Combination Sum
- LeetCode 39. Combination Sum
- LeetCode *** 39. Combination Sum
- LeetCode 39. Combination Sum
- leetcode 39. Combination Sum
- 数组和面向对象
- BZOJ 5055: 膜法师 树状数组
- Mybatis基础
- 【LeetCode】182. Duplicate Emails
- Java中Synchronized的用法
- leetcode 39. Combination Sum40
- bound2im
- KALI2.0 meterpreter 运用
- 记录17.9.26第一个面试-顺丰JAVA
- python操作excel读入文件
- Java实现——求丑数
- HDU 3501 Calculation 2 (欧拉函数)
- Spark-RDD笔记及集群作业实例
- Go语言入门——从一个简单例子入门