class Solution { public: void f(int i,vector<int>&c, int k, vector<int> &v,int sum, vector<vector<int>> &m) { if(i == c.size()) { if(k == 0) m.push_back(v); return; } if(c[i] <= k) { v.push_back(c[i]); f(i,c,k-c[i],v,sum,m); v.pop_back(); } f(i+1,c,k,v,sum,m); } vector<vector<int>> combinationSum(vector<int>& c, int k) { vector<int> v; vector<vector<int>> m; f(0,c,k,v,0,m); return m; } };
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter