Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
- vector<vector<int>>ans;
- vector<int>temp;
- backtrack(ans , candidates , target , 0 , temp);
- return ans;
- }
- void backtrack(vector<vector<int>>&ans , vector<int>&candidates , int target , int id , vector<int>&temp)
- {
- if(target == 0)
- {
- ans.push_back(temp);
- return;
- }
- for(int i=id;i<candidates.size();i++)
- {
- if(candidates[i]<=target)
- {
- temp.push_back(candidates[i]);
- backtrack(ans , candidates , target - candidates[i] , i , temp);
- temp.pop_back();
- }
- }
- }
- };
Add Comment
Please, Sign In to add comment