跳转至

11. 盛最多水的容器

一、题目描述

二、解题思路

双指针O(n)

class Solution {
public:
    int maxArea(vector<int>& height) {
        int n = height.size();
        int l = 0, r = n - 1;
        int res = 0;
        while (l < r) {
            res = max(res, (r - l) * min(height[l], height[r]));
            if (height[l] < height[r]) {
                l++;
            } else if (height[l] > height[r]) {
                r--;
            } else {
                l++;
                r--;
            }
        }
        return res;
    }
};