方法1:暴力解法:

class Solution {
public:
    int maxArea(vector<int>&amp; height) {
        int max = 0;
        for(int i =0; i<height.size(); i++) { for (int j="i+1;j" < height.size(); j++){ int h="min(height[i]," height[j]); if(h*(j-i)> max)  max = h*(j-i);
            }
        }

        return max;
    }
};

方法2:

有人说水的最大体积由最长木板决定,只有移动短的木板那头,才有可能使得水

的体积变大。好像称作双指针。

    public int maxArea (int[] height) {
        if(height == null || height.length &lt; 2)return 0;
        int max = 0;
        int n = height.length;
        int i = 0,j = n - 1;
        while(i &lt; j){
            int maxArea = (j - i) * Math.min(height[i],height[j]);
            max = Math.max(max,maxArea);
            if(height[i] &lt; height[j]){
                i++;
            } else {
                j--;
            }
        }
        return max;
    }