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
area=0
while left!=right:
water=min(height[left],height[right])*(right-left)
area=max(area,water)
if height[left]<height[right]:
left+=1
else:
right-=1
return area
本文介绍了一种寻找能容纳最多水的两个垂直线的算法。该算法通过不断调整左右指针的位置来找到最佳组合,避免了不必要的计算。
282

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



