LeetCode 筆記 - 11. Container With Most Water
解析 LeetCode 經典題目「盛最多水的容器」。本文教學如何運用夾擠定理與雙指針策略,透過不斷更換較低高度的指針來逼近最大面積。文中也分享了紀錄最高高度以加速計算的實作細節,優化整體演算法效能。
⚠️ 舊文提醒:本文發佈於約 4 年前,部分內容或指令可能已過時,請斟酌參考。
題目在此 11. Container With Most Water
給一個數列,表示高度。
計算出這些高度任選兩個組合出的容器的最大容量

解題思維
在這裡我們可以用 夾擠定理 先界定出上下界再來慢慢逼近
而從圖中可以看到容器的高度是由選擇的兩隻裡面,較低的那隻 決定的
所以過程中,我們可以一直更換較低的那隻來慢慢逼近出最大的面積
而實作,我進一步紀錄出現過最高的高度來進一步加速
因為底只會越來越小,如果高還沒比較高,那就不用作後面的計算了
程式碼
1 | class Solution: |