iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0
Software Development

leetcode程式自學系列 第 26

Day26 leetcode程式自學

  • 分享至 

  • xImage
  •  

今天的題目是LeetCode 第三十九題Combination Sum,題目是給你一個整數陣列和一個目標值,你要找出所有加總等於目標值的數字組合,而且陣列裡的每個數字可以被重複使用不限次數。輸出的結果要是一個所有組合的清單,每個組合內的數字相加都要剛好等於目標。這段程式在做的事情其實就是用回溯法一個一個去嘗試組合。一開始我們有一個目標數字target,程式會從候選數字陣列candidates 的第一個開始試。每次有兩種選擇:跳過這個數字,去看下一個;或是 選這個數字,把它加進目前的組合裡,然後繼續嘗試看看還能不能湊出目標值。當目前加總剛好等於目標值的時候,就把這個組合存進結果裡;如果加總超過目標值,就回頭不再繼續這條路。因為數字可以重複選,所以選了某個數字之後,還可以繼續在同一個位置嘗試。程式就是靠這樣不停地「選或不選」,列舉出所有可能的組合,最後把符合的全部回傳。


上一篇
Day25 leetcode程式自學
下一篇
Day27 leetcode程式自學
系列文
leetcode程式自學28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言