iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0

題目介紹:
給定整數陣列 nums 和目標值 target,找出三個整數的和,使其最接近 target,並返回這個和。通常先將陣列排序,遍歷每個元素作為基準,再用左右雙指標在剩餘元素中尋找最接近的組合,過程中不斷更新與目標差距最小的和,以提升效率並避免重複計算。
解題流程:
先排序陣列,遍歷每個元素作基準,使用左右雙指標尋找三數和,計算與目標差距並更新最接近值,最後返回最接近目標的和。
程式碼及執行結果截圖:
https://ithelp.ithome.com.tw/upload/images/20250930/20168871O6J3bp8f0H.png
學習心得:
這題讓我學到 排序與雙指標技巧在組合問題中的應用。相比直接使用三重迴圈暴力解法,排序後固定一個元素,再用左右指標搜尋剩餘元素,能大幅降低時間複雜度,提高效率。過程中需要不斷比較目前三數和與目標的差距,並更新最接近的結果,這訓練了我在程式中動態追蹤最優解的能力。此外,這題也強化了我對邏輯思維的理解:先將問題結構化(排序、固定元素),再透過指標策略逐步逼近目標,兼顧效率與正確性。整體而言,不僅提升了我解題技巧,也讓我體會到如何將抽象問題轉化為可操作的步驟,對於處理現實生活中需要「最接近目標」的決策問題也很有啟發性。
延伸邏輯時事面:
1.投資組合最佳化:選擇三種資產,使總報酬最接近目標值,降低風險並提升收益。

2.疫情或公共衛生數據分析:找出確診、康復、死亡等指標組合,使總和接近預測模型目標,用於政策調整。

3.資源分配與決策:在有限資源下,尋找各項分配組合,使總效益最接近理想目標,提高效率與公平性。


上一篇
Day 18(15.3Sum)
下一篇
Day20(33.Search in Rotated Sorted Array)
系列文
從Leetcode到實務的橋樑21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言