#include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param candidates int整型vector * @param target int整型 * @return int整型vector<vector<>> */ void backtrace(vector<int>& candidates, vector<vector<int>>& ans, int sum, int target, int start, vector<int>& path) { if (sum == target) { ans.push_back(path); return; } int len = candidates.size(); for (int i = start; i < len; i++) { if (sum + candidates[i] <= target) { path.push_back(candidates[i]); backtrace(candidates, ans, sum + candidates[i], target, i+1, path); path.pop_back(); } } } vector<vector<int> > cowCombinationSum2(vector<int>& candidates, int target) { // write code here vector<vector<int>> ans; vector<int> path; backtrace(candidates, ans, 0, target, 0, path); return ans; } };