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

11.盛最多水的容器

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

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

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

说明:你不能倾斜容器。

思路:
找出其中两条线,确定使用双指针,怎么实现双指针?
我们知道返回结果不可能为负数,故初始化一个ans来存储最后得到的答案,ans需不断更新;
此题就和求面积似的,最终结果为底×高的最大值,但不同的是,我们的高需要取较短的那一边,试想一下,两侧不等高的柱子装水,水最终的高度为较短的边的值,题目已明确不考虑倾斜,所以我们只需要不断更新较短的那一边,直到遍历完所有高。

代码实现:

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

时间复杂度:O(n)
空间复杂度:O(1)

http://www.jsqmd.com/news/444474/

相关文章:

  • 新托福时代的选择智慧:如何精准避坑,锁定高效提分机构? - 速递信息
  • 2026年数据线工厂行业趋势报告:三大核心力量重塑未来 - 速递信息
  • 位置编码(Positional Encoding)
  • 二分算法2-二分答案
  • 分治算法——求逆序对
  • word文档生成技术实现
  • C++游戏开发之旅 25
  • 使用vLLM部署Qwen/Qwen3.5-35B-A3B-FP8并且在DIFY中调用
  • ElasticSearch常见问题和注意事项
  • 一文搞懂LockSupport原理
  • Windows 安装 OpenClaw 踩坑全记录:Node、Git、CMake、VS Build Tools 一次解决
  • Flutter 三方库 preact_signals 的鸿蒙化适配指南 - 掌控极致信号响应、Signals 架构实战、鸿蒙级精密状态指控专家
  • 别只盯着模型参数了:聊聊多模态时代最容易被忽视的一件事——训练数据准备
  • 看懂“单词规律”的算法之美:为什么简单的模式匹配,其实很深
  • RAG 入门-LangChain 读取图片数据
  • 春节单位发的永辉超市卡如何回收? - 京顺回收
  • YOLO26改进66:全网首发--使用WFU改进特征融合模块
  • Kappa架构在电商大数据平台中的落地实践
  • AI+JavaWeb Vue Ajax
  • 详细介绍:数据结构之查找的方法
  • 2026年大连殡葬服务标杆机构最新推荐:大连众安诚信殡葬礼仪有限公司,一站式殡仪服务新标杆 - 海棠依旧大
  • 聚合支付系统设计方案
  • osi七层模型学习笔记
  • 2026年3月大连殡葬服务公司选择指南:殡葬一条龙、殡仪服务、殡葬用品、灵棚搭建、殡仪车出租相关公司 - 海棠依旧大
  • 保姆级VSCode入门指南,Python党直接抄作业
  • 二叉树的直径-leetcode
  • React Fibber架构设计理解
  • 2026年国内信号屏蔽仪品牌排名推荐,助您选择更具品质保障的产品 - 睿易优选
  • 嘎嘎降AI vs 学术猹 vs PaperYY降AI:同一篇论文三个结果 - 还在做实验的师兄
  • 博士论文降AI用什么工具?高要求场景下只推荐这2款 - 还在做实验的师兄