news 2026/8/28 6:10:05

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
千问 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)」是经典的双指针配对题,需要我帮你把接雨水也整理一下吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 6:10:04

AI望远镜技术落地:从边缘推理到智能观测自建方案

这次我们来看一个经常被低估的技术切口&#xff1a;AI 在双筒望远镜/双目观测器行业里到底走到哪一步了。很多人对望远镜的认知还停留在“纯光学硬件”上&#xff0c;觉得它跟 AI 没有太大关系。但实际情况是&#xff0c;从低光增强、电子防抖、自动目标识别&#xff0c;到观鸟…

作者头像 李华
网站建设 2026/8/28 6:05:43

打架行为检测数据集:VOC+YOLO双格式2类别实战指南

简介&#xff1a;行为检测是智能安防与校园安全的核心技术基础&#xff0c;其本质是结合目标定位与动作语义的实例级建模。原理上需突破整图分类局限&#xff0c;通过person实例框行为属性标签&#xff08;如fight&#xff09;实现空间-语义联合推理&#xff0c;显著提升可解释…

作者头像 李华
网站建设 2026/8/28 6:04:06

深入理解C++ std::enable_if_t的用法<一>做为函数返回值

std::enable_if_t 是 C14 引入的别名模板&#xff0c;定义在 <type_traits> 中&#xff1a;template<bool B, typename T void> using enable_if_t typename std::enable_if<B, T>::type;它的作用就是&#xff1a;如果 B 为 true&#xff0c;则 enable_if_…

作者头像 李华
网站建设 2026/8/28 6:03:44

基于CNN的睡眠质量分析系统:从时间序列处理到健康应用实践

简介&#xff1a;卷积神经网络&#xff08;CNN&#xff09;作为一种强大的深度学习模型&#xff0c;其核心原理在于通过卷积核自动提取输入数据的局部特征&#xff0c;这一特性使其在图像识别领域取得了巨大成功。近年来&#xff0c;随着可穿戴设备的普及&#xff0c;CNN在处理…

作者头像 李华
网站建设 2026/8/28 6:03:21

同样是写文档,为什么别人图文清爽?

本周为大家带来《信息美学家》的第016期 今日分享主题&#xff1a;如何在飞书文档等一众文档工具中&#xff0c;用好图片组件&#xff1f; 01 背景 ◎ 为什么需要图片组件&#xff1f; 在制作文档时&#xff0c;我们常常需要插入图片来辅助说明&#xff0c;但许多人只是简单地将…

作者头像 李华