盛水最多的容器
//给定一个长度为 n
的整数数组 height
。有 n
条垂线,第 i
条线的两个端点是 (i, 0)
和 (i, height[i])
。
找出其中的两条线,使得它们与 x
轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明:你不能倾斜容器。
//class Solution { public int maxArea(int[] height) { int l = 0, r = height.length - 1; int maxArea = 0; while (l < r) { int area = (r - l) * Math.min(height[l], height[r]); int minH = Math.min(height[l], height[r]); maxArea = Math.max(maxArea, area); while (height[l] <= minH && l < r) { l++; } while (height[r] <= minH && l < r) { r--; } } return maxArea; } }
//思路:从最左和最右开始,每次选出两个中的最小高度,往后遍历的过程中直接跳过高度小于minheight的线,直到出现大于minheight的线才有可能得到更大的容器.
本文作者:Zzzzzzxz
本文链接:https://www.cnblogs.com/zzzzzzx/p/17142113.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具