首页 > 代码库 > Combination Sum
Combination Sum
递归:
class Solution: # @param candidates, a list of integers # @param target, integer # @return a list of lists of integers def combinationSum(self, candidates, target): candidates.sort() if target<candidates[0]: return [] num_items=len(candidates) res=[] for i in range(num_items): if candidates[i]>target: break if candidates[i]==target: res.append( [candidates[i]] ) break temp=self.combinationSum(candidates[i:num_items],target-candidates[i])#可以再调用candidates[i],但不能掉用i前面的,会出现重复 for j in temp: j.append(candidates[i]) j.sort()# ... res.append(j) return resif __name__ == ‘__main__‘: s=Solution() print(s.combinationSum([2,3,6,7],7))
Combination Sum
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。