Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
class Solution:
# @return an integer
def maxArea(self, height):
left = 0 ; right = len(height) - 1
res = 0
while left < right:
water = min(height[left] , height[right]) * (right - left)
if water > res : res = water
if height[left] < height[right] :
left += 1
else :
right -= 1
return res
本文介绍了一个经典的算法问题:给定一系列高度,如何找到两个高度之间的最大矩形面积。该问题通过双指针技术解决,逐步调整左右边界以寻找最优解。
330

被折叠的 条评论
为什么被折叠?



