回溯算法:组合总和
Posted 枫桥客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回溯算法:组合总和相关的知识,希望对你有一定的参考价值。
leetcode:216组合总和
与77题的差别就是这题有了优化
class Solution
public:
vector<vector<int>> result;
vector<int> path;
int sum = 0;
void backtracking(int target, int k, int startIndex)
if (sum > target) return;//后面都比它大直接返回
if (path.size() == k)
if (sum == target)
result.push_back(path);
return;
for (int i = startIndex; i <= 9; i++)
sum += i;
path.push_back(i);//传进去
backtracking(target, k, i + 1);
sum -= i;
path.pop_back();
vector<vector<int>> combinationSum3(int k, int n)
backtracking(n, k, 1);
return result;
;
以上是关于回溯算法:组合总和的主要内容,如果未能解决你的问题,请参考以下文章