Skip to content

Commit

Permalink
Create CombinationSumII.cpp
Browse files Browse the repository at this point in the history
Medium
  • Loading branch information
Rahuldandotiya committed Apr 23, 2020
1 parent 5b000f2 commit cbedbf3
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions CombinationSumII.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
class Solution {
public:
vector<vector<int>> ans;
void find(vector<int> &vi,set<vector<int>> &s,vector<int>& candidates,vector<int>& v, int target,int i=0){
if(target==0){
if(s.find(v)==s.end()){
ans.push_back(v);
s.insert(v);
}
return;
}
for(int j=i;j<candidates.size() and target>=candidates[j];j++){
if(vi[j]==0){
v.push_back(candidates[j]);
vi[j]=1;
find(vi,s,candidates,v,target-candidates[j],j);
vi[j]=0;
v.pop_back();
}
}
}
vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {
sort(candidates.begin(),candidates.end());
vector<int> v;
vector<int> vi(candidates.size());
//for(int i=0;i<candidates.size();i++) vi.push_back(1);
set<vector<int>> s;
find(vi,s,candidates,v,target);
return ans;
}
};

0 comments on commit cbedbf3

Please sign in to comment.