9 17(39 組合總和 22 括號生成)

2021-08-28 12:54:50 字數 1523 閱讀 8478

class solution 

aresult.push_back(ares);

return aresult;

} else if (candidates.size() == 1 && target%candidates[0] != 0 || candidates.size() == 0 || target == 0)

else

preresult = combinationsum(candidates, target - n * aim);

for (int i = 0; i < preresult.size()|| (target - n * aim)==0; i++)

n++;

res.clear();

}return result;

} }};

不能完全正確執行,知道為什麼,但是還沒改,思考怎麼改。。。之所以不正確是因為改變了向量的長度,即使回退長度也不會恢復。

以下是修改之後的程式,可以成功執行,但是總感覺不夠精簡

class solution 

vector> com(int start, vector&candidates, int target)

preresult.push_back(b);

return preresult;

} if (start == candidates.size() - 1 && target%candidates[start] != 0||target==0)

else

result=com(start + 1, candidates, target - n * aim);

for (int i = 0; i < result.size(); i++)

preresult.push_back(res);

res.clear();

for (int i = 0; i < n; i++)

}if (target - n * aim == 0)

preresult.push_back(res);

n++;

res.clear();

}return preresult;

} }};

int main()

solution bb;

vector> s = bb.combinationsum(arr,target);

for (int i = 0; i < s.size(); i++)

void com(vector&candidates, int index, int target, vectorres, vector> &result)

else if (target<0) return ;

else

} }};

class solution

void gener(vector&v, string s, int l, int r)

if (r > 0 && l這個第一次沒寫對,參考了一篇部落格。

39 組合總和

給定乙個無重複元素的陣列 candidates 和乙個目標數 target 找出 candidates 中所有可以使數字和為 target 的組合。candidates 中的數字可以無限制重複被選取。說明 示例 1 輸入 candidates 2,3,6,7 target 7,所求解集為 7 2,2...

39 組合總和

給定乙個無重複元素的陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的數字可以無限制重複被選取。說明 示例 1 輸入 candidates 2,3,6,7 target 7,所求解集為 7 2,2,3 示例 2 ...

39 組合總和

給定乙個無重複元素的陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的數字可以無限制重複被選取。說明 輸入 candidates 2,3,6,7 target 7,所求解集為 7 2,2,3 輸入 candida...