11. 盛最多水的容器
MediumContainer With Most Water
ArrayTwo Pointers
解法思路
- 使用左右雙指針從陣列兩端開始
- 計算當前面積 = min(height[left], height[right]) × (right - left)
- 移動較矮的那一側指針(因為移動較高側不可能增加面積)
- 持續更新最大面積,直到兩指針相遇
複雜度分析
- 時間複雜度:O(n)
- 空間複雜度:O(1)
高度陣列視覺化
1[0]L
8[1]
6[2]
2[3]
5[4]
4[5]
8[6]
3[7]
7[8]R
目前最大盛水量:0
演算法開始。左指針 L=0,右指針 R=8。兩端向中間夾擠。
1 / 18