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

千问 LeetCode 11. 盛最多水的容器 Java实现

LeetCode 11「盛最多水的容器」的 Java 实现如下:

核心思路:双指针法

容器的盛水量由两个因素决定:宽度(两线距离)和高度(较短的那条线)。

关键洞察:每次移动较短的板。因为移动较长的板,宽度减小而高度受限于短板,容积只会变小或不变;只有移动短板,才有可能遇到更高的板来提升容积。

Java 代码实现

class Solution {
public int maxArea(int[] height) {
int left = 0;
int right = height.length - 1;
int maxArea = 0;

while (left < right) {
// 当前容器的盛水量 = 宽度 × 较短边高度
int currentArea = Math.min(height[left], height[right]) * (right - left);
maxArea = Math.max(maxArea, currentArea);

// 移动较短的板
if (height[left] < height[right]) {
left++;
} else {
right--;
}
}

return maxArea;
}
}

运行示例

以 height = [1,8,6,2,5,4,8,3,7] 为例:
步骤 left right 短板高度 宽度 面积 最大面积 移动方向
1 0 8 1 8 8 8 left++
2 1 8 7 7 49 49 right--
3 1 7 3 6 18 49 right--
... ... ... ... ... ... 49 ...

最终返回 49(由索引 1 和 8 的两条线构成)。

复杂度分析
项目 复杂度 说明
时间 O(n) 每个元素最多被访问一次
空间 O(1) 仅使用常数级变量

为什么移动短板是正确的?

这是本题的核心难点,可以用反证法理解:

假设当前 height[left] < height[right],如果我们不移动 left 而是移动 right,那么:
- 宽度一定减小(right - left 变小)
- 高度最多只能是 height[left](短板不变)
- 所以容积一定 ≤ 当前容积,不可能更优
因此,left 和 right 之间所有以 left 为左边界、以 right 左侧某位置为右边界的组合,都不可能超过当前值,可以安全地跳过,直接 left++。

这道题和「接雨水(LC 42)」是经典的双指针配对题,需要我帮你把接雨水也整理一下吗?

http://www.cnnetsun.cn/news/4260282.html

相关文章:

  • AI望远镜技术落地:从边缘推理到智能观测自建方案
  • 学术AI技术进阶:单一模型局限性与多模型协同架构在科研全流程的落地价值
  • 打架行为检测数据集:VOC+YOLO双格式2类别实战指南
  • 深入理解C++ std::enable_if_t的用法<一>做为函数返回值
  • 基于CNN的睡眠质量分析系统:从时间序列处理到健康应用实践
  • 同样是写文档,为什么别人图文清爽?
  • OpenRouter深度解析:一个API Key统一调用多模型的工程实践
  • 本地大模型部署显存估算:用计算器搞定GPU选型与KV Cache优化
  • 降ai率指令怎么写?AI降重后怎样做AIGC检测和论文查重?
  • GPT-Image 2 科研绘图的8个专业Prompt,轻松做出顶刊级配图!
  • 技能熵:破解LLM长时程推理评测失真的新指标
  • 远程协助是什么软件 远程协助app哪个好用
  • WOA-ELM回归预测模型:鲸鱼算法优化极限学习机的原理与Matlab实现
  • Jetson Nano上ROS服务通信实战:从概念到调试全解析
  • vue学习(白话功能版)
  • 国赛真题解析:利用数学特性与剪枝优化子数组和积相等问题
  • Python实战Bayes判别分析:从数学原理到LDA/QDA模型应用
  • 实测数据公开:ZED X系列深度精度与传输性能全面验证报告
  • MVMD多元变分模态分解与小波阈值联合去噪:原理、MATLAB实现与调优指南
  • 三相电源Delta与Wye输入兼容设计:以4080W电源为例
  • 训练-免费的开放词汇语义分割:原型引导文本校准方法解析与工程实践
  • 企业私有 RAG 避坑实录:从代码幻觉到受约束生成的全链路改造
  • 知网二代讨论章节AI疑似度偏高怎么改:助研君分段处理实测
  • 敏捷BI实战指南:从概念到落地,避开五大误区构建数据驱动文化
  • RTL-SDR V2 RTL2832U+FC0012/FC0013 SDR软件无线电接收机 收音机 RTL-SDR6 V2无线电接收器 RTL2832U SDR接收机 FM频谱分析 ADS-B
  • 火焰识别VOC数据集解析与YOLO模型训练部署实战
  • 工业级布匹缺陷数据集构建:从采集、标注到模型训练全流程详解
  • AI落地最大的坑不是模型,而是数据、评测与工程化
  • ComfyUI+SD1.5+LoRA:AI一键将房屋平面图转为3D渲染效果图
  • 【单片机毕业设计推荐】基于 STM32 或 51 单片机的燃气火焰安全监测报警系统设计与实现 基于 STM32 或 51 单片机的家居燃气火情智能防护系统设计(017607)