链接:https://leetcode-cn.com/problems/combination-sum-iii/
回溯+剪枝即可
java代码:
class Solution {
List<List<Integer>> ans = new ArrayList<List<Integer>>();
List<Integer>temp = new ArrayList<Integer>();
public List<List<Integer>> combinationSum3(int k, int n) {
backtrack(k,n,1);
return ans;
}
private void backtrack (int k,int n,int begin)
{
if(k==0&&n==0)
ans.add(new ArrayList(temp));
else if(k==0||n==0)
return ;
for(int i = begin;i<=10-k;i++)
{
if(i>n)
break;
temp.add(i);
backtrack(k-1,n-i,i+1);
temp.remove(temp.size()-1);
}
}
}
本文提供了一种使用回溯加剪枝算法解决LeetCode上组合总和III问题的方法,通过Java代码实现,详细展示了如何从1到9中找到k个数使得其和为n的所有组合。
854

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



