0
点赞
收藏
分享

微信扫一扫

LeetCode 39. Combination Sum

凶猛的小白兔 2023-09-05 阅读 42


set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.

same repeated number may be chosen from C

Note:

  • All numbers (including target) will be positive integers.
  • The solution set must not contain duplicate combinations.

[2, 3, 6, 7] and target 7

A solution set is: 

[ [7], [2, 2, 3] ]

answer:

class Solution {
public:
	vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
		vector<int> temp;
		vector<vector<int>> result;
		myCombine(candidates,target,0,temp,result);
		return result;
	}

	void myCombine(vector<int>& candidates, int target,int index,vector<int> & temp, vector<vector<int>> & result){
		if(target < 0){
			return;
		}
		if(0 == target){
			result.push_back(temp);
			return;
		}
//		sum += candidates[index];
			for(int i = index; i < candidates.size(); i ++){
				temp.push_back(candidates[i]);
				myCombine(candidates,target - candidates[i],i,temp,result);
				temp.pop_back();
			}
	}
};






举报

相关推荐

0 条评论