11. Container With Most Water
1.問題

2.想法
提問
function header, parameter
test input
zero vector
說明想法
暴力解: 雙重迴圈
優化解
其實面積是左右兩邊, 可以設定為比較左右兩邊的長度, 誰比較短則往前進一格
測試計算複雜度: O(n)?
3.程式碼
class Solution {
public:
int maxArea(vector<int>& height) {
int size = height.size() - 1, r = 0, l = size, maxSize = min(height[r], height[l]) * size;
while (r < l) {
if (height[r] < height[l]) {
r++;
} else {
l--;
}
int currSize = min(height[r], height[l]) * (l - r);
maxSize = max(maxSize, currSize);
}
return maxSize;
}
};
Last updated