组合总和——力扣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;
	}
};
相关推荐
bIo7lyA8v1 分钟前
算法设计中的代价函数优化与约束求解的技术8
算法
暖阳华笺4 分钟前
【数据结构与算法】哈希专题
数据结构·c++·算法·leetcode·哈希算法
ceclar1235 分钟前
C#字节流与字符流
算法·c#·.net
LuminousCPP9 分钟前
数据结构 - 单链表第二篇:单链表进阶操作
c语言·数据结构·笔记·链表
大白话_NOI10 分钟前
【洛谷 P1024 】[NOIP2001 提高组] 一元三次方程求解 - 详细分析与C++实现
c++·算法
Matthew_zhu_11 分钟前
P3374 【模板】树状数组 1 题解
算法
随意起个昵称11 分钟前
区间dp-进阶题目1(进阶合并)
c++·算法·动态规划
伶俜6612 分钟前
鸿蒙原生应用实战(四)ArkUI 语音变声器:录音 + 4 种音效 + 音调变换算法
算法·华为·harmonyos
王老师青少年编程13 分钟前
2022年CSP-X复赛真题及题解(T2:移动棋子)
c++·真题·csp·信奥赛·复赛·csp-x·移动棋子
玖玥拾13 分钟前
C/C++ 数据结构(三)链表核心算法
c语言·数据结构·c++·链表