不懂的可以在评论区问我。
代码
双指针,开始的时候一个在最左边,一个在最右边。每次移动矮的那头,因为这是矮柱子作为容器能装的水的极限了。
class Solution {
public:int maxArea(vector<int>& height) {int left = 0; int right = height.size()-1;int ans = 0;while(left<right){ans = max(ans, (right-left)*std::min(height[left], height[right]));if(height[left]<height[right]) {left++;}else{ right--;}}return ans;}
};