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

双指针-11.盛水最多的容器-力扣(LeetCode)

一、题目解析

 

结合示例我们能发现装水的多少取决于最短的直线,所以为了最大容量需要两边最大且距离长。

二、算法原理

解法1:暴力枚举

用两层for循环枚举出所有高度区间,计算体积,比较出最大的一个容量。当然这种解法无疑是会超时的,无论遇到什么题我们都需要知道暴力解法是怎么样的,我们的解法都是在暴力解法的基础上优化的。

解法2:利用单调性,使用双指针

单调性

 

利用双指针,一端在开头,一端在末尾,方向相反去遍历heigh数组,当相等时结束循环,对枚举得到v做max处理得出最大的一个 。

 

需要left指向起始位置,right指向末尾位置,v来计算每次枚举的容量,areamax赋值INT_MIN,用与比较和记录最大值。

指针的移动:谁的heigh小谁移动。

可以根据上面的原理去自己实现一下,链接:11. 盛最多水的容器 - 力扣(LeetCode) 

三、代码示例

 

 

看到最后,如果对您有所帮助还请留下一个免费的赞和收藏,我们下期再见! 

http://www.xdnf.cn/news/1066.html

相关文章:

  • vue作业-周报管理系统
  • python 执行顺序
  • 程序员学商务英文之Terms of Payment Packing
  • 日志文件太大,如何分卷压缩便于传输
  • pwm驱动呼吸灯
  • 【NCCL】transport建立(一)
  • Express项目实战大事件后台 API 项目(五)——文章管理
  • java集合框架day1————集合体系介绍
  • 服务器监控软件推荐
  • Python Cookbook-6.7 有命名子项的元组
  • RAG vs 微调:大模型定制化技术选型全解析
  • 10、Context:跨维度传音术——React 19 状态共享
  • 【Java核心技术卷Ⅰ-第11版学习-第3章-Java的基本程序设计结构】
  • 每日一题(9) 垃圾箱分布
  • 基于SpinrgBoot+Vue的智慧农业管理平台-031
  • 远程医疗系统如何有效防护CC攻击
  • 智慧教室电子班牌-智能管理系统源码,‌后端‌基于Spring Boot框架,前端‌使用Vue.js框架进行组件化开发
  • 在python中装饰器的使用
  • File工具总结
  • 悟空黑桃A邀请码(31187835)
  • VSCode远程图形化GDB
  • 算法 | 鲸鱼优化算法(WOA)与强化学习的结合研究
  • Dify-web开发思路
  • Pikachu靶场-SQL注入
  • STM32——相关软件安装
  • 【Linux】:HTTPS协议
  • 相机标定(输出相机内参和畸变参数)
  • ASP.NET 中防止用户多次登录的方法
  • wkhtmltopdf - HTML转PDF/图像命令行工具
  • python@staticmethod 是什么含义?