宁睿 发表于 2025-4-4 09:05:28

蓝桥杯训练代码

一、盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height) 。
找出此中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最洪流量。
阐明:你不能倾斜容器。
示例 1:

https://i-blog.csdnimg.cn/img_convert/9ebf05609ecf3d0893704ce7a20d5614.jpeg
<strong>输入:</strong>
<strong>输出:</strong>49
<strong>解释:</strong>图中垂直线代表输入数组 。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 示例 2:
<strong>输入:</strong>height =
<strong>输出:</strong>1
经典双指针题目

class Solution(object):
    def maxArea(self,height):
      left, right = 0, len(height) - 1# 初始化双指针
      max_area = 0# 最大水量

      while left < right:
            # 计算当前容器的水量
            area = (right - left) * min(height, height)
            # 更新最大水量
            max_area = max(max_area, area)
            # 移动较短的垂线的指针
            if height < height:
            left += 1
            else:
            right -= 1
      return
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 蓝桥杯训练代码