题目
给定一个长度为
n
的整数数组height
。有n
条垂线,第i
条线的两个端点是(i, 0)
和(i, height[i])
。找出其中的两条线,使得它们与
x
轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。
注意
- 将一个指针设置在数组的左侧,一个指针设置在数组的右侧。
代码
class Solution {
public int maxArea(int[] height) {
int left = 0, right = height.length, wide = height.length - 1, high, max = 0;
for (int i = 0; i < height.length; i++) {
if (height[left] < height[right - 1]) {
high = height[left];
left++;
} else {
high = height[right - 1];
right--;
}
int t = high * wide;
if (t > max)
max = t;
wide--;
}
return max;
}
}