题解 | #盛水最多的容器#
盛水最多的容器
https://www.nowcoder.com/practice/3d8d6a8e516e4633a2244d2934e5aa47
#不能算中等题吧,就左右找,用最短的边的去 乘和大的之间的区间就是容积,短边往前进1 直到碰头
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param height int整型一维数组
# @return int整型
#
class Solution:
def maxArea(self , height: List[int]) -> int:
# write code here
res = []
n = len(height)
if n <2:
return 0
left = 0
right = n-1
while left < right:
if height[left]<=height[right]:
res.append(height[left]*(right-left))
left +=1
if height[left]>height[right]:
res.append(height[right]*(right-left))
right -=1
return max(res)
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param height int整型一维数组
# @return int整型
#
class Solution:
def maxArea(self , height: List[int]) -> int:
# write code here
res = []
n = len(height)
if n <2:
return 0
left = 0
right = n-1
while left < right:
if height[left]<=height[right]:
res.append(height[left]*(right-left))
left +=1
if height[left]>height[right]:
res.append(height[right]*(right-left))
right -=1
return max(res)