组合总和——力扣39

文章目录

题目描述



回溯

cpp 复制代码
class Solution {
public:
    vector<vector<int>> res;
	vector<int> seq; 
	
	void dfs(vector<int>& nums, int pos, int target){
		if(target==0){
			res.emplace_back(seq);
			return;
		}
		if(pos==nums.size()){
			return;
		}
		//直接跳过
		dfs(nums, pos+1, target);
		if(target - nums[pos]>=0){
			seq.push_back(nums[pos]);
			dfs(nums, pos, target-nums[pos]);
			seq.pop_back();
		}
	}
	
	vector<vector<int>> combinationSum(vector<int>& candidates, int target){
		dfs(candidates, 0, target);
		return res;
	}
};
相关推荐
dragoooon342 分钟前
C++——string的了解和使用
c语言·开发语言·c++·学习·学习方法
微光-沫年10 分钟前
141-CEEMDAN-VMD-Transformer-BiLSTM-ABKDE多变量区间预测模型!
算法·matlab·回归
闪电麦坤951 小时前
数据结构:数组:合并数组(Merging Arrays)
数据结构·算法
kk_stoper1 小时前
使用Ruby接入实时行情API教程
java·开发语言·javascript·数据结构·后端·python·ruby
myloveasuka1 小时前
leetcode11.盛最多水的容器
c语言·数据结构·c++·leetcode
C++ 老炮儿的技术栈2 小时前
tinyxml2 开源库与 VS2010 结合使用
c语言·数据结构·c++·算法·机器人
平平无奇我要摘星星2 小时前
leetcode1_455.分发饼干
算法·leetcode
Joern-Lee2 小时前
机器学习算法:支持向量机SVM
算法·机器学习·支持向量机
秋说2 小时前
【PTA数据结构 | C语言版】计算1~n与1~m每一项相互乘积的和
c语言·数据结构·算法