Skip to content

Latest commit

 

History

History
31 lines (28 loc) · 809 Bytes

File metadata and controls

31 lines (28 loc) · 809 Bytes

#Comobination Sum Practice

 void funct(int ind,int target,vector<int>& can,vector<vector<int>>&v,vector<int> st)
    {
        if(ind==can.size())
        {
            if(target==0)
            {
                v.push_back(st);
            }
            return;
        }

        if(can[ind]<=target)
        {
            st.push_back(can[ind]);
            funct(ind,target-can[ind],can,v,st);
            st.pop_back();
        }
      
        funct(ind+1,target,can,v,st);
    }

    vector<vector<int>> combinationSum(vector<int>& can, int target) {
        //sort(can.begin(),can.end());
        int sum=0;
        vector<vector<int>> v;
        vector<int> st;
        funct(0,target,can,v,st);
        return v;
    }