双指针法:两个指针分别指向左右边界,记录最大面积,由于面积由短板决定,两个指针中较短的短指针向内移动一格,再次记录最大面积, 直到两指针相遇,得出答案。
class Solution {
public:int maxArea(vector<int>& height) {int i = 0, j = height.size() - 1, res = 0;while(i != j){res = height[i] < height[j]? max(res, height[i]*(j-(i++))) : max(res, height[j]*((j--)-i));}return res;}
};