当i和j指向一头一尾时,宽度最宽。当移动一侧矮的柱子时,体积可能变大,而移动高一侧的柱子时,体积只可能不变或者变小。这是因为体积由矮的一侧决定,移动高的一侧时,宽度变小,而高度不变。
class Solution {
public:
int maxArea(vector<int>& height) {
int max=0;
int i=0,j=height.size()-1;
while(i<j){
if((j-i)*min(height[i],height[j])>max)
{
max=(j-i)*min(height[i],height[j]);
}
if(height[i]>height[j])
{
j--;
}
else{
i++;
}
}
return max;
}
};