LeetCode 11:乘最多水的容器(Java实现)
LeetCode 11乘最多水的容器Java实现题目给定 n 个非负整数 a1a2…an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线使得它们与 x 轴共同构成的容器可以容纳最多的水。说明你不能倾斜容器且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下容器能够容纳水表示为蓝色部分的最大值为 49。示例:输入: [1,8,6,2,5,4,8,3,7]输出: 49来源力扣LeetCode链接https://leetcode-cn.com/problems/container-with-most-water著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。思路1简单粗暴从头到尾依次遍历。两层循环用 i 和 j 来控制容器的底的长度 j-i再找出 height[i] 和 height[j] 中较小的从而求出容器能容纳的值(j-i)*(height[i]height[j]?height[j]:height[i])再在循环过程中比较容器容积找出最大值。这种方法弊端计算了一些不必计算的比如说如果height[2]height[4]height[3]那么i 2,j 3、i 3,j 4围成的面积一定小于i 2,j 4。代码class Solution1 { public int maxArea(int[] height) { int area 0,max 0; for(int i0;iheight.length-1;i){ for(int ji1;jheight.length;j){ area (j-i)*(height[i]height[j]?height[j]:height[i]); if(areamax){ max area; } } } return max; } }结果思路2从左往右和从右往左同时进行省掉了些不必要的计算。代码class Solution2 { public int maxArea(int[] height) { int head 0,tail height.length-1; int area 0; int max 0; while(headtail){ if(height[head]height[tail]){ area (height[head]*(tail-head)); max maxarea?max:area; head; }else{ area (height[tail]*(tail-head)); max maxarea?max:area; tail--; } } return max; } }结果

相关新闻

OpenJ_Bailian - 4115  鸣人和佐助(BFS特殊判重)

OpenJ_Bailian - 4115 鸣人和佐助(BFS特殊判重)

佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置。地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸的手下才能到…

2026/9/11 22:53:31 阅读更多 →
【单片机毕业设计推荐】基于 STM32 的智能衣柜环境监测与远程控制系统设计,基于 STM32 的多功能智能储物柜物联网监测装置设计(012004)

【单片机毕业设计推荐】基于 STM32 的智能衣柜环境监测与远程控制系统设计,基于 STM32 的多功能智能储物柜物联网监测装置设计(012004)

文章目录20 个相关毕业设计备选题目项目研究背景摘要总体方案核心功能技术路线项目演示关于我们项目案例源码获取温馨提示:本人主页置顶文章(点我)有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)有 CSDN 平台官…

2026/9/18 8:22:16 阅读更多 →
AI+低代码落地复盘:跳出理论误区,拆解行业真实落地方案

AI+低代码落地复盘:跳出理论误区,拆解行业真实落地方案

当下AI与低代码的融合已成为企业数智化转型的核心抓手,但多数团队落地仅停留在“表单拖拽AI辅助输入”的浅层应用,普遍存在理论适配完美、业务落地翻车、迭代效率低下、ROI不达预期等问题。 一、前言:AI低代码的落地困境,远比理论…

2026/9/12 3:44:34 阅读更多 →

最新新闻

构建可临床落地的智能医疗系统:影像诊断+多模态治疗推演

构建可临床落地的智能医疗系统:影像诊断+多模态治疗推演

简介:本资源是一份面向高校医信交叉学科学生、医疗AI初学者及临床信息化从业者的技术型教学PPT,系统梳理人工智能在智能医疗系统研发中的核心应用场景与创新路径。内容覆盖医学影像智能分析(含肺部结节检测案例)、个性化治疗方案构…

2026/9/19 1:50:33 阅读更多 →
Mac 本地部署大模型全指南:Ollama 安装避坑与实战优化

Mac 本地部署大模型全指南:Ollama 安装避坑与实战优化

你手上这台 Mac,尤其是 16GB 统一内存以上的 M 系列机型,其实早就是一台合格的本地大模型终端了。Ollama 是目前把这件事做得最省心的工具:一条命令拉模型、一条命令起服务、自带 OpenAI 兼容 API,后面接 Continue、Cursor、Dify …

2026/9/19 1:50:33 阅读更多 →
ShellCheck 开发指南:构建、架构解析与新检查项的编写实践

ShellCheck 开发指南:构建、架构解析与新检查项的编写实践

ShellCheck 开发指南:构建、架构解析与新检查项的编写实践 【免费下载链接】shellcheck ShellCheck, a static analysis tool for shell scripts 项目地址: https://gitcode.com/gh_mirrors/sh/shellcheck ShellCheck 是一个用 Haskell 编写的 shell 脚本静态…

2026/9/19 1:50:33 阅读更多 →
依赖审计实战:以 agent-governance-toolkit 的 @typescript-eslint/eslint-plugin 补丁升级为例,解析依赖变更治理全流程

依赖审计实战:以 agent-governance-toolkit 的 @typescript-eslint/eslint-plugin 补丁升级为例,解析依赖变更治理全流程

依赖审计实战:以 agent-governance-toolkit 的 typescript-eslint/eslint-plugin 补丁升级为例,解析依赖变更治理全流程 【免费下载链接】agent-governance-toolkit AI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution…

2026/9/19 1:50:33 阅读更多 →
电机故障诊断深度学习实战:从振动信号到边缘部署

电机故障诊断深度学习实战:从振动信号到边缘部署

简介:这份PDF文献面向电气工程、自动化及机械故障诊断方向的研究生与工程技术人员,聚焦深度学习在电机故障诊断中的落地方法,帮助读者理解如何用堆栈稀疏自编码器替代传统浅层神经网络,解决易陷入局部极小值、特征依赖人工经验等问…

2026/9/19 1:50:33 阅读更多 →
ChatDev 2.0 Dynamic 执行模式深度指南:边级 Map 扇出与 Tree 归约的并行编排实战

ChatDev 2.0 Dynamic 执行模式深度指南:边级 Map 扇出与 Tree 归约的并行编排实战

ChatDev 2.0 Dynamic 执行模式深度指南:边级 Map 扇出与 Tree 归约的并行编排实战 【免费下载链接】ChatDev ChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration 项目地址: https://gitcode.com/Dennis_Huang/ChatDev ChatDev 2.0 的 Dyna…

2026/9/19 1:49:33 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介:面向机器学习、深度学习与数据建模学习者的一份完整研究文献,聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本,系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程,展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型,在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志,发现loss从凌晨两点就开始往上爬,一路从0.8涨到1.35,整整六个小时没人发现。那六个小时的训练不仅白跑,还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →