中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

柳州做網(wǎng)站設(shè)計(jì)的公司中國(guó)互聯(lián)網(wǎng)域名注冊(cè)服務(wù)機(jī)構(gòu)

柳州做網(wǎng)站設(shè)計(jì)的公司,中國(guó)互聯(lián)網(wǎng)域名注冊(cè)服務(wù)機(jī)構(gòu),聊城做網(wǎng)站的公司,企業(yè)網(wǎng)頁(yè)制作與網(wǎng)站設(shè)計(jì)目錄 題目 思路 剪枝優(yōu)化 代碼 題目 給你一個(gè) 無(wú)重復(fù)元素 的整數(shù)數(shù)組 candidates 和一個(gè)目標(biāo)整數(shù) target ,找出 candidates 中可以使數(shù)字和為目標(biāo)數(shù) target 的 所有 不同組合 ,并以列表形式返回。你可以按 任意順序 返回這些組合。 candidates 中的…

目錄

題目

思路

剪枝優(yōu)化

代碼


題目

給你一個(gè)?無(wú)重復(fù)元素?的整數(shù)數(shù)組?candidates?和一個(gè)目標(biāo)整數(shù)?target?,找出?candidates?中可以使數(shù)字和為目標(biāo)數(shù)?target?的 所有?不同組合?,并以列表形式返回。你可以按?任意順序?返回這些組合。

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

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

示例?1:

輸入:candidates = [2,3,6,7], target = 7
輸出:[[2,2,3],[7]]
解釋:
2 和 3 可以形成一組候選,2 + 2 + 3 = 7 。注意 2 可以使用多次。
7 也是一個(gè)候選, 7 = 7 。
僅有這兩種組合。

示例?2:

輸入: candidates = [2,3,5]
target = 8
輸出: [[2,2,2,2],[2,3,3],[3,5]]

示例 3:

輸入: candidates = [2], 
target = 1
輸出: []

思路

和前面的組合問(wèn)題不同的是,最后的結(jié)果集里的數(shù)字可以有重復(fù)比如target是4,結(jié)果集可以是2,2

本題沒(méi)有組合數(shù)量要求,僅僅是總和的限制,所以遞歸沒(méi)有層數(shù)的限制,只要選取的元素總和超過(guò)target,就返回!

本題還需要startIndex來(lái)控制for循環(huán)的起始位置?

對(duì)于組合問(wèn)題,什么時(shí)候需要startIndex呢?

如果是一個(gè)集合來(lái)求組合的話(huà),就需要startIndex,例如:力扣77和216.

如果是多個(gè)集合取組合,各個(gè)集合之間相互不影響,那么就不用startIndex,例如:力扣17

注意以上只是說(shuō)求組合的情況,如果是排列問(wèn)題,又是另一套分析的套路.

終止只有兩種情況,sum大于target和sum等于target。

剪枝優(yōu)化

對(duì)總集合排序之后,如果下一層的sum(就是本層的 sum + candidates[i])已經(jīng)大于target,就可以結(jié)束本輪for循環(huán)的遍歷。?

代碼

class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {List<List<Integer>> result=new ArrayList<>();
//最后的結(jié)果集Arrays.sort(candidates);
//剪枝操作,先從小到大排序,如果哪個(gè)數(shù)已經(jīng)大于target了,那就不用再繼續(xù)往下了backTracking(result,new ArrayList<>(),candidates,target,0,0);return result;}public void backTracking(List<List<Integer>> result,List<Integer> path,int[] candidates,int target,int sum,int index){
//path保存葉子節(jié)點(diǎn),target:目標(biāo)值,sum:葉子節(jié)點(diǎn)的和,index,遍歷的時(shí)候從哪個(gè)數(shù)開(kāi)始if(sum==target){//符合要求,把葉子節(jié)點(diǎn)加入結(jié)果集result.add(new ArrayList<>(path));return;}for(int i=index;i<candidates.length;i++){if(sum+candidates[i]>target) break;//大于了就不需要繼續(xù)往下了,剪枝path.add(candidates[i]);backTracking(result,path,candidates,target,sum+candidates[i],i);//最后一個(gè)數(shù)還是i因?yàn)樗詈蟮慕Y(jié)果集可以重復(fù),比如2,3,4,選了2繼續(xù)往下的時(shí)候還可以選2path.remove(path.size() - 1); // 回溯,移除路徑 path 最后一個(gè)元素}}
}

http://www.risenshineclean.com/news/61239.html

相關(guān)文章:

  • 做h網(wǎng)站怎么才能安全企業(yè)網(wǎng)址怎么申請(qǐng)
  • 深圳網(wǎng)站制作哪里找成都十大營(yíng)銷(xiāo)策劃公司
  • 辛集專(zhuān)業(yè)網(wǎng)站建設(shè)seo博客網(wǎng)址
  • 百度站長(zhǎng)平臺(tái)查詢(xún)軟件培訓(xùn)機(jī)構(gòu)
  • 昆明做網(wǎng)站哪家公司好大數(shù)據(jù)營(yíng)銷(xiāo)系統(tǒng)多少錢(qián)
  • 手機(jī)網(wǎng)站設(shè)計(jì)立找億企邦夫唯老師seo
  • 給孩子做的飯網(wǎng)站網(wǎng)絡(luò)公關(guān)公司
  • 旅游網(wǎng)站開(kāi)發(fā)背景及意義公司網(wǎng)站建設(shè)步驟
  • 日本親子游哪個(gè)網(wǎng)站做的好處寧波seo外包快速推廣
  • 做網(wǎng)站不掙錢(qián)鎮(zhèn)江優(yōu)化推廣
  • 免費(fèi)企業(yè)推廣網(wǎng)站網(wǎng)站開(kāi)發(fā)工程師
  • 萬(wàn)網(wǎng)網(wǎng)站建設(shè)流程做優(yōu)化關(guān)鍵詞
  • 網(wǎng)頁(yè)特效代碼網(wǎng)站石家莊新聞最新消息
  • 建設(shè)部投訴網(wǎng)站網(wǎng)站創(chuàng)建的流程是什么
  • 擔(dān)路網(wǎng)絡(luò)科技有限公司的證書(shū)靠譜seo整站優(yōu)化外包
  • 山西省網(wǎng)站建設(shè)哪家好百度官網(wǎng)認(rèn)證免費(fèi)
  • seo每日工作內(nèi)容寧波seo公司網(wǎng)站推廣
  • 云工廠(chǎng)網(wǎng)站建設(shè)濟(jì)南疫情最新消息
  • 本溪做網(wǎng)站制作網(wǎng)頁(yè)完整步驟
  • 千圖主站的功能介紹seo搜索優(yōu)化服務(wù)
  • 網(wǎng)站建設(shè)需要哪些方面google海外版入口
  • 調(diào)查問(wèn)卷在哪個(gè)網(wǎng)站做免費(fèi)ip地址代理
  • 網(wǎng)站seo優(yōu)化教程谷歌官方網(wǎng)站
  • 網(wǎng)站建設(shè)費(fèi)應(yīng)怎樣做會(huì)計(jì)分錄青島做網(wǎng)站的公司哪家好
  • 東莞長(zhǎng)安做網(wǎng)站百度網(wǎng)盤(pán)客服中心電話(huà)
  • 哪一些網(wǎng)站使用vue做的2023國(guó)內(nèi)外重大新聞事件10條
  • 網(wǎng)站關(guān)鍵詞優(yōu)化排名最新戰(zhàn)爭(zhēng)新聞事件今天
  • 軟件工程開(kāi)發(fā)師工資杭州seo價(jià)格
  • 互聯(lián)網(wǎng)網(wǎng)站有哪些外國(guó)黃岡網(wǎng)站推廣平臺(tái)
  • 企業(yè)網(wǎng)站最下面的那欄叫啥成都本地推廣平臺(tái)