力扣11. 盛最多水的容器
·

思路:
很经典的双指针题目;定义首尾指针,因为是算面积,所以比较首尾指针所指向的元素,用较小的元素与这两个元素之间的距离相乘,然后与面积进行比较,保存较大的面积后移动较小一方的指针,如此循环....
Java代码:
class Solution {
public int maxArea(int[] height) {
int left = 0;
int right = height.length-1;
int maxArea = 0;
while (left < right) {
if (height[left] < height[right]) {
if (height[left] *(right - left) > maxArea) {
maxArea = height[left] * (right - left);
}
left++;
} else {
if (height[right] * (right - left) > maxArea) {
maxArea = height[right] * (right - left);
}
right--;
}
}
return maxArea;
}
}
更多推荐



所有评论(0)