knakul853

Untitled

Jul 17th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
  4.        
  5.        
  6.         vector<vector<int>>ans;
  7.         vector<int>temp;
  8.         backtrack(ans , candidates , target , 0 , temp);
  9.         return ans;
  10.     }
  11.    
  12.     void backtrack(vector<vector<int>>&ans , vector<int>&candidates , int target , int id , vector<int>&temp)
  13.     {
  14.         if(target == 0)
  15.         {
  16.             ans.push_back(temp);
  17.             return;
  18.         }
  19.        
  20.         for(int i=id;i<candidates.size();i++)
  21.         {
  22.             if(candidates[i]<=target)
  23.             {
  24.                 temp.push_back(candidates[i]);
  25.                
  26.                 backtrack(ans , candidates , target - candidates[i] , i , temp);
  27.                 temp.pop_back();
  28.             }
  29.         }
  30.        
  31.     }
  32. };
Add Comment
Please, Sign In to add comment