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

Leetcode——11. 盛最多水的容器

首先该题的暴力做法就是两侧for循环,枚举所有的可能。

我们在此基础上进行思考,能否减少枚举的数量。

要想容纳最多的水,与两边最低边和长度有关。

我们可以取两个变量一个在最左,一个在最右,这个时候长度是最长的。

只需要枚举向里收缩的量即可(其实也就是全部)。

但两个变量可以减少枚举量。

我们假设左变量小于右变量,这个时候,我们讨论右变量。

①右变量向左时变大,此时根据木桶效应,高度不变,长度变短,总容纳量会变低。

②右变量向左时变小,此时根据木桶效应,高度变小,长度变短,总容纳量依旧低。

此时发现,无论右变量如何变化,都不会使容纳量增多,此时也没有必要枚举剩余情况。所以此时让左变量++,因为该左变量对应的所有枚举情况,右变量无论如何变化,都不会使容纳量变大。

根据这一结论,我们就可以得到双指针形式代码。

class Solution {
public:int maxArea(vector<int>& height) {int l = 0, r = height.size() - 1;int ans = 0;while (l < r) {ans = max((r - l) * min(height[l], height[r]), ans);if(height[l] <= height[r]){l++;}else{r--;}}return ans;}
};

http://www.lryc.cn/news/602659.html

相关文章:

  • 力扣-39.组合总和
  • PhpStorm + PHP8.1 + XDebug3 实现断点调试(亲测可用)
  • 面试问题收集——卷积神经网络
  • 从 “看天吃饭” 到 “精准可控”:边缘计算网关如何引爆智慧农业种植变革?
  • 计算机毕设分享-基于SpringBoot的健身房管理系统(开题报告+前后端源码+Lun文+开发文档+数据库设计文档)
  • 服务器多线主要是指什么?
  • 服务器查日志太慢,试试grep组合拳
  • 数据中心入门学习(四):服务器概述与PCIe总线
  • 数据结构面经
  • 坚鹏:AI智能体培训是知行学成为AI智能体创新应用引领者的基础
  • 【Spring Boot 快速开发】一、入门
  • AI技术落地的综合实战经验报告,结合最新行业案例、代码示例及可视化图表,系统阐述AI在开发提效、算法优化与行业应用中的实践路径。
  • Python将Word转换为Excel
  • EXCEL 怎么把汉字转换成拼音首字母
  • 根据发热量确定选择TEC制冷片测评分析学习
  • Open CV图像基本操作可莉版
  • IP协议解析:从寻址到路由
  • Vue3判断对象是否为空方法
  • 判断回文链表【两种O(n)时间复杂度】
  • 10_opencv_分离颜色通道、多通道图像混合
  • Netty中trySuccess和setSuccess的区别
  • Java程序员学从0学AI(七)
  • mybatis-plus-tenant-support
  • Caddy服务器指南
  • 工业计算机的重要性
  • C# 提取字符串 指定开始和结尾字符
  • JAVA+AI教程-第四天
  • 2,智能制造,MOM,MES - 柔性制造(具体内容参考PPT文档)
  • 接口测试核心概念与实践指南
  • 分享一个脚本,从mysql导出数据csv到hdfs临时目录