解题思路:
双指针技巧,边移动边计算面积。 这道题的height[i] 是没有宽度的。
不熟悉接雨水双指针的看一下这道题。
接雨水问题双指针技巧
class Solution {
int maxArea(int[] height) {
int left = 0, right = height.length - 1;
int res = 0;
while(left < right){
//每次移动的面积是高度最小的height[i] 和长 (right - left)的乘积
int cur_area = Math.min(height[left], height[right]) * (right - left);
res = Math.max(res, cur_area);
if (height[left] < height[right]) { //每次移动,矩形的高是由低的那一面height[left]或height[right]决定的。
left++;
} else {
right--;
}
}
return res;
}
}