组合总和——力扣39

文章目录

      • 题目描述
      • 回溯

题目描述

组合总和——力扣39_第1张图片
组合总和——力扣39_第2张图片
组合总和——力扣39_第3张图片

回溯

组合总和——力扣39_第4张图片

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;
	}
};

组合总和——力扣39_第5张图片

你可能感兴趣的:(算法刷题笔记,leetcode,深度优先,算法,数据结构,职场和发展,c++)