首页 > 其他 > 详细

leetcode Combination Sum

时间:2014-06-14 10:30:36      阅读:312      评论:0      收藏:0      [点我收藏+]
void dfs(int k,int target,vector<int>& candidates,vector<int>& sol,vector<vector<int> >& res){
	if(target==0){
		vector<int> temp(sol);
		res.push_back(temp);
		return;
	}else if(target<0){
		return;
	}else{
		for(int i=k;i<candidates.size();i++){
            if(candidates[i]>target) break;
			sol.push_back(candidates[i]);
			dfs(i,target-candidates[i],candidates,sol,res);
			sol.pop_back();
		}
	}
}

vector<vector<int> > combinationSum(vector<int> &candidates, int target) {
    vector<vector<int> > res;
	vector<int> sol;
    sort(candidates.begin(),candidates.end());
	dfs(0,target,candidates,sol,res);
	return res;
}

 

leetcode Combination Sum,布布扣,bubuko.com

leetcode Combination Sum

原文:http://www.cnblogs.com/xiexiaobo/p/3787764.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!