日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

39. 组合总和020(思路+详解)

發(fā)布時(shí)間:2023/12/4 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 39. 组合总和020(思路+详解) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一:題目:

給定一個(gè)無(wú)重復(fù)元素的正整數(shù)數(shù)組 candidates 和一個(gè)正整數(shù) target ,找出 candidates 中所有可以使數(shù)字和為目標(biāo)數(shù) target 的唯一組合。

candidates 中的數(shù)字可以無(wú)限制重復(fù)被選取。如果至少一個(gè)所選數(shù)字?jǐn)?shù)量不同,則兩種組合是唯一的。

對(duì)于給定的輸入,保證和為 target 的唯一組合數(shù)少于 150 個(gè)。

示例 1:輸入: candidates = [2,3,6,7], target = 7 輸出: [[7],[2,2,3]] 示例 2:輸入: candidates = [2,3,5], target = 8 輸出: [[2,2,2,2],[2,3,3],[3,5]] 示例 3:輸入: candidates = [2], target = 1 輸出: [] 示例 4:輸入: candidates = [1], target = 1 輸出: [[1]] 示例 5:輸入: candidates = [1], target = 2 輸出: [[1,1]]

二:思路

思路:
<1>:遞歸函數(shù)的遞歸參數(shù)為
backtacking(vector &v,int target);
<2>:遞歸的結(jié)果
vector<vector> ans;//裝入所有的可行解
vector path;每次遞歸將一個(gè)值裝入容器中
<3>:遞歸終止條件
accumulate(path.begin(),path.end(),0) == target

<4>:單層橫向的for循環(huán)為遍歷容器的元素,縱向?yàn)檫f歸深度

三:上碼

class Solution { public:vector<vector<int> >ans;vector<int>path;void backtacking(vector<int>& v,int num,int index){int sum = accumulate(path.begin(),path.end(),0);if(sum > num){return ;}if(sum == num){ans.push_back(path);return ;}for(int i = index; i < v.size(); i++){path.push_back(v[i]);backtacking(v,num,i);//這里加上index可以避免重復(fù)path.pop_back();}}vector<vector<int>> combinationSum(vector<int>& candidates, int target) {/**思路:<1>:遞歸函數(shù)的遞歸參數(shù)為backtacking(vector<int> &v,int target);<2>:遞歸的結(jié)果vector<vector<int >> ans;//裝入所有的可行解vector<int> path;每次遞歸將一個(gè)值裝入容器中<3>:遞歸終止條件accumulate(path.begin(),path.end(),0) == target<4>:單層橫向的for循環(huán)為遍歷容器的元素,縱向?yàn)檫f歸深度 */backtacking(candidates,target,0);return ans;} };


加油 寶!!!

總結(jié)

以上是生活随笔為你收集整理的39. 组合总和020(思路+详解)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。