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

LeetCode盛最多水的容器

盛最多水的容器

  • 盛最多水的容器

题目描述:

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

本题暴力解法就是把所有的可能全部列举出来,时间复杂度O(n^2),可能会导致超时。

本题可以使用双指针,left指向左边界,right指向右边界,初始状态left处在最左,right处在最右,如果我们想让面积变大,因为right-left在缩小,如果面积要增大,就要高度的增加幅度大于底边减小幅度,而高度是由左右边界更小的决定的。当left的高度小于right的高度的时候,让left++,否则right--,直到right>=left,记录过程中的面积最大值。如下图,height=[1, 8, 6, 2, 5, 4, 8, 3, 7]
在这里插入图片描述

left++

在这里插入图片描述

right--

在这里插入图片描述

right--

在这里插入图片描述

left++;//相等的时候left+或者right-都行

记录过程中的面积最大值。

class Solution {
public:int maxArea(vector<int>& height) {int left=0;int right=height.size()-1;vector<int> results;while(left<right){results.push_back(min(height[left],height[right])*(right-left));if(height[left]<height[right]){left++;}else{right--;}}int max=results[0];for(auto result:results){if(max<result){max=result;}}return max;}
};
http://www.dtcms.com/a/321707.html

相关文章:

  • 线程死锁相关知识点
  • Pygame音频播放的最简框架代码示例
  • C#中LINQ to DataSet操作及DataTable与LINQ相互转换
  • 【问题解决】Mysql连接报错:1130-host ... is not allowed to connect to this MySql server
  • 快速入门flask应用(从入门到实战)
  • CPO-SVM分类预测+特征贡献SHAP分析,通过特征贡献分析增强模型透明度,Matlab代码实现,引入SHAP方法打破黑箱限制,提供全局及局部双重解释视角
  • Uber的MySQL实践(一)——学习笔记
  • Xiphos Q8 SDR DOCK子板 AD9361 宽带收发器的 SDR 模块。
  • 【AI论文】高效智能体:在降低成本的同时构建高效能智能体
  • latex基础
  • GPT-5 不仅是版本升级,它标志着 推理能力的商业化 和 Agent操作系统 的崛起,开启了 AI革命时代。
  • 二、RuoYi-Cloud-Plus 拉取到本地的准备和注意事项
  • wordpress的wp-config.php文件的详解
  • 虚幻GAS底层原理解剖九 (内存管理)
  • Jetpack Compose 主题系统全解析:从基础配置到动态切换
  • 商品、股指、ETF期权五档Tick分时历史行情数据解析
  • 数据库设计简述
  • Trae SOLO+ Holopix AI → “虚假广告“-鸠摩智转[特殊字符]割草小游戏
  • 【Unity3D实例-功能-跳跃】角色跳跃
  • Wan2.1-14B-T2V-FusionX-VACE本地部署教程:融合前沿技术,轻松掌握逼真物理模拟!
  • JAVA基础-NIO
  • 面向真实场景的定制化图像降质模型设计方案
  • 荣耀秋招启动
  • python---函数嵌套
  • 剑指offer第2版——面试题2:实现单例
  • 零知开源——基于STM32F103RBT6的TDS水质监测仪数据校准和ST7789显示实战教程
  • Windows ASLR 地址空间布局随机化技术详解
  • 连锁店管理系统的库存跟踪功能:数字化转型下的零售运营核心
  • VR 设备 PCB 怎样凭借高频材料达成高速传输
  • [激光原理与应用-185]:光学器件 - BBO、LBO、CLBO晶体的全面比较