1. 程式人生 > >leetcode -39組合總數

leetcode -39組合總數

找問題 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組合總數