leetcode -39組合總數
阿新 • • 發佈:2019-03-03
找問題 start emp tag vector tco ret style size
搜就完事了,沒想著優化。唉~太菜,給一個位置標記位置,然後通過該位置向該位置及該位置以下尋找,這樣不存在什麽重復回去查找問題。
如果總結大於目標值,回溯一下,如果不大於繼續。
class Solution { public: vector<vector<int>> res; vector<int> temp; vector<vector<int>> combinationSum(vector<int>& candidates, int target) { dfs(candidates,0,target,0); return res; } void dfs(vector<int> can,int sum,int tag,int start) { if(sum>tag)return; else if(sum==tag) { res.push_back(temp); return;} else for(int i=start;i<can.size();i++) { temp.push_back(can[i]); dfs(can,sum+can[i],tag,i); temp.pop_back(); } } };
leetcode -39組合總數