leetcode-盛最多水的容器[11]

 


题目描述

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量
image

算法分析-双指针

image

  • 初始状态:左右指针分别指向头、尾
  • 每次移动较短边
    image

代码实现

class Solution:
def maxArea(self, height: List[int]) -> int:
i = 0
j = len(height)-1
maxarea = -1
while(i!=j):
maxarea = max(maxarea,min(height[i],height[j])*(j-i))
if height[i]<height[j]:
i +=1
else:
j -=1
return maxarea
posted @   topbookcc  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
/* 鼠标点击求赞文字特效 */
点击右上角即可分享
微信分享提示