Combination Sum

原创 2016年08月31日 15:15:08
class Solution {
private:
	vector<int> c;
	vector<vector<int> > res;  //保存最后结果
public:
	vector<vector<int> > combinationSum(vector<int> &candidates, int target) {
		vector<int> a;
		sort(candidates.begin(), candidates.end()); //先对C中候选数升序排序,为后面的剪枝做准备
		c = candidates;
		backtrack(a, 0, target);
		//for(vector<int> &m:res)
	    //sort(m.begin(), m.end());
		//res.erase(unique(res.begin(), res.end()), res.end());
		return res;
	}
	int sum(vector<int>& a){
		int res = 0;
		for (int i = 0; i<a.size(); i++){
			res += a[i];
		}
		return res;
	};
	void backtrack(vector<int>& a, int k, int target)
	{
		if (k == c.size()) return;
		if (sum(a) == target){
			res.push_back(a);
			return;
		}
		else if (sum(a)>target)
			return;
		else {
			//k = k + 1;
			for (int i = k; i<c.size(); i++) {
				//a[k] = c[i];
				a.push_back(c[i]);
				backtrack(a, i, target);
				a.pop_back();

			}
		}
	}
};

LeetCode 39. Combination Sum II

和LeetCode 38. Combination Sum

39-Combination Sum

题目:Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all uniqu...

Leetcode|Combination Sum III[回溯]

Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

LeetCode_40---Combination Sum II

Given a collection of candidate numbers (C) and a target number (T), find all unique combinations ...

DFS-leetcode Combination Sum I/I I

深度优先搜索(DFS)是搜索算法的一种。最早接触DFS应该是在二叉树的遍历里面,二叉树的先序、中序和后序遍历实际上都属于深度优先遍历,实质就是深度优先搜索,后来在图的深度优先遍历中则看到了更纯正的深度...

leetcode【39+40+216+377 Combination Sum 相关】【python】

39Combination Sum是说让我们在给定数组C中找到所有的组合,使得组合中数字的和是target值。并且组合里的数字可以重复,也就是不限制C中每一个数字的使用。 这明显是回溯啦,大家记得让...

LeetCode39 Combination Sum

原题:英:Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all uni...

【LeetCode】 Combination Sum 系列

Combination Sum 【LeetCode】39.Combination Sum 【LeetCode】40.Combination Sum2

leetcode Combination Sum II回溯问题

最近一直在看回溯算法的框架,这道题代表性比较强,用到剪枝(重复1),和约束(超过界限直接return)。 先贴下一般的回溯算法的框架。 引用自这个bolg http://blog.jqian.net/...

Leetcode #40. Combination Sum II 组合求和2 解题报告

1 解题思想这道题是昨天的升级版,先看看这个 Leetcode #39. Combination Sum 组合求和 解题报告这道题的改变就是每个位置的数只能用一次了,但是如果本身就给了多个的话就无...
  • MebiuW
  • MebiuW
  • 2016年04月11日 23:57
  • 524
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Combination Sum
举报原因:
原因补充:

(最多只允许输入30个字)