组合总和——力扣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;
	}
};
相关推荐
White_Can3 分钟前
《C++11:右值引用与移动语义》
开发语言·c++·stl·c++11
Z1Jxxx8 分钟前
字符串翻转
开发语言·c++·算法
闻缺陷则喜何志丹9 分钟前
【前缀和 期望】P7875 「SWTR-7」IOI 2077|普及+
c++·算法·前缀和·洛谷·期望
CSDN_RTKLIB20 分钟前
ODR、linkage问题解惑
开发语言·c++
CoovallyAIHub23 分钟前
超越Sora的开源思路:如何用预训练组件高效训练你的视频扩散模型?(附训练代码)
深度学习·算法·计算机视觉
宵时待雨26 分钟前
数据结构(初阶)笔记归纳1:复杂度讲解
c语言·数据结构·笔记
源来猿往32 分钟前
yolov8n结构化剪枝
算法·yolo·剪枝
非得登录才能看吗?35 分钟前
C++多线程简单版(C++11 及以上)
c++
tongxianchao35 分钟前
MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning
算法·机器学习·剪枝
今儿敲了吗36 分钟前
第二章 C++对C的核心拓展
c++·笔记