双指针

class Solution {
public:
    int maxArea(vector<int>& height) {
        //双指针
        int n = height.size();
        int left = 0, right = n - 1, maxW = 0;
        while (left < right)
        {
            maxW = max(maxW, (right - left) * min(height[left], height[right]));
            height[left] > height[right]? right-- : left++;
        }
        return maxW;
    }
};

时间复杂度:O(n)
空间复杂度:O(1)