【LeetCode】Combination Sum II

来源:互联网 发布:阿迪达斯淘宝精仿店 编辑:程序博客网 时间:2024/06/16 20:36
class Solution {public:   void DFSII(vector<vector<int>> &result, vector<int> &intermediate, int gap, int start, vector<int> &nums){if (gap == 0){result.push_back(intermediate);return;}int previous = -1;for (size_t i = start; i < nums.size(); i++){if (nums[i] == previous)continue;if (gap < nums[i])return; previous=nums[i];intermediate.push_back(nums[i]);DFSII(result, intermediate, gap - nums[i], i + 1, nums);intermediate.pop_back();}}vector<vector<int> > combinationSum2(vector<int> &nums, int target){sort(nums.begin(), nums.end());vector<vector<int>> result;vector<int> intermediate;DFSII(result, intermediate, target, 0, nums);return result;}};

0 0
原创粉丝点击