class Solution(object):
def combinationSum3(self, k, n):
"""
:type k: int
:type n: int
:rtype: List[List[int]]
"""
visit=[True]*9
self.res=[]
def help(k,n,list1,visit):
if k==0 and n==0:
return self.res.append(list1)
if k<=0 or n<=0:
return
for i in range(9):
if visit[i]:
if list1==[] or list1[-1] < i+1:
visit[i]=False
help(k-1,n-1-i,list1+[i+1],visit)
visit[i]=True
help(k,n,[],visit)
return self.res
python leetcode 216. Combination Sum III
最新推荐文章于 2020-09-11 09:55:35 发布
本文深入探讨了一种寻找特定数量元素之和等于指定目标值的算法——组合总和III。该算法通过回溯法递归地寻找所有可能的组合,并确保每个组合中的元素不重复且递增。文章详细解释了算法的实现过程,包括如何使用布尔数组记录已访问的数字,以及如何在递归过程中更新状态。


534

被折叠的 条评论
为什么被折叠?



