#include <leetcode.h>
|
static vector< vector< int > > | combinationSum2 (vector< int > &candidates, int target) |
|
static vector< vector< int > > | recurse (vector< int > &candidates, int target, int index) |
|
◆ combinationSum2()
vector< vector< int > > leetcode::combination_sum_ii::Solution::combinationSum2 |
( |
vector< int > & | candidates, |
|
|
int | target ) |
|
static |
在文件 leetcode.cpp 第 6486 行定义.
6486 {
6487 sort(candidates.begin(), candidates.end());
6488 const auto ret =
recurse(candidates, target, -10);
6489 vector<vector<int>>
ans(ret.size());
6490 for(int i = 0; i < ret.size(); i++) {
6491 ans[i] = vector<int>(ret[i].size());
6492 for(int j = 0; j < ret[i].size(); j++) {
6493 ans[i][j] = candidates[ret[i][j]];
6494 }
6495 }
6497 }
vector< vector< int > > ans
static vector< vector< int > > recurse(vector< int > &candidates, int target, int index)
引用了 recurse().
◆ recurse()
vector< vector< int > > leetcode::combination_sum_ii::Solution::recurse |
( |
vector< int > & | candidates, |
|
|
int | target, |
|
|
int | index ) |
|
static |
在文件 leetcode.cpp 第 6499 行定义.
6499 {
6500 vector<vector<int>>
ans;
6501 for(int i = max(0, index + 1); i < candidates.size(); i++) {
6502 if(!(i > 0 && candidates[i] == candidates[i - 1] && index != i - 1)) {
6503 const auto &candidate = candidates[i];
6504 if(candidate == target) {
6505 ans.emplace_back(vector(1, i));
6506 } else if(target - candidate >= 1) {
6507 auto res =
recurse(candidates, target - candidate, i);
6508 for(auto &vec: res) {
6511 }
6512 }
6513 }
6514 }
6516 }
引用了 recurse().
被这些函数引用 combinationSum2() , 以及 recurse().
该类的文档由以下文件生成: