首页 > 学院 > 开发设计 > 正文

LeetCode 39. Combination Sum

2019-11-08 02:52:10
字体:
来源:转载
供稿:网友

Given a 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.

The same repeated number may be chosen from C unlimited number of times.

Note:

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

For example, given candidate set [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();			}	}};


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表