当前位置: 首页 > news >正文

leetcode_双指针 11. 盛最多水的容器

11. 盛最多水的容器

  • 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

  • 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

  • 返回容器可以储存的最大水量。

  • 说明:你不能倾斜容器。

1. 双重循环(记录用)

class Solution(object):
    def maxArea(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        res = []
        for left in range(len(height)):
            for right in range(left, len(height)):
                a = right - left
                b = min(height[left], height[right])
                s = a * b
                res.append(s)

        return max(res)
  • 时间复杂度: O(n^2)
  • 空间复杂度: O(n^2)

2. 双指针

  • 使用对向双指针来优化时间复杂度,一个指向数组的开头(left),另一个指向数组的末尾(right),当两个指针相遇时,循环停止。
class Solution(object):
    def maxArea(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        max_area = 0
        left, right = 0, len(height) - 1 # 对向双指针
        
        while left < right:
            current_area = (right - left) * min(height[left], height[right])  # 计算当前容器的容量
            max_area = max(max_area, current_area)  # 更新最大容量
            
            # 移动较短的那条线段的指针
            if height[left] < height[right]:
                left += 1
            else:
                right -= 1
                
        return max_area
  • 时间复杂度: O(n),只需遍历数组一次
  • 空间复杂度: O(1)

相关文章:

  • 两市总的净流出和净流入来分析情况
  • OO_Unit1
  • 【C++11】左值引用、右值引用和移动语义
  • 20250321在荣品的PRO-RK3566开发板的buildroot系统下使用ll命令【直接编译进IMG】
  • 《人脸识别技术应用安全管理办法》
  • AI风向标《AI与视频制作全攻略:从入门到精通实战课程》
  • [AI建模] 使用Pinokio本地化部署混元2D到3D AI建模服务
  • 响应式页面布局:打造无缝跨屏体验的关键技术
  • 基于Spring Boot的公司资产网站的设计与实现(LW+源码+讲解)
  • Win NAS 分享功能:精准、安全的内容共享
  • 无锡哲讯智能科技有限公司:数字化转型的赋能者
  • C语言基础—指针变量与变量指针
  • 【c++】异常处理
  • mysql 导入全量备份
  • Python Web 框架 Django、Flask 和 FastAPI 对比
  • 【负载均衡系列】LVS
  • Swagger 笔记
  • Centos 7 安装VNC服务
  • C# WinForms 中的回调:从性能到技术层面的全面解析
  • HTTP代理IP技术详解及在Web开发中的应用
  • 埃尔多安:愿在土耳其促成俄乌领导人会晤
  • 思想史家陈谷嘉逝世,曾为岳麓书院当代复兴奠定重要基础
  • 持续8年仍难终了的纠纷:败诉方因拒执罪被立案,胜诉方银行账户遭冻结
  • 中国巴西关于乌克兰危机的联合声明
  • 男子退机票被收90%的手续费,律师:虽然合规,但显失公平
  • 长三角议事厅·周报|从模速空间看上海街区化AI孵化模式