【中等】11. 盛最多水的容器

【中等】力扣算法题解析LeetCode11:盛最多水的容器 采用双指针法高效求解容器盛水问题。初始化左右指针分别指向数组两端,计算当前容量并更新最大值。关键策略是移动高度较小的指针,以寻找潜在更大容量的组合。算法时间复杂度为O(n),空间复杂度O(1)。Java实现通过循环比较和指针移动,最终返回最大储水量。 阅读详情

【题目】
相似题目:
【困难】42. 接雨水-单调栈、动态规划、数学法、双指针
【代码】
思路来自:Alba
对O(n)的算法写一下自己的理解,一开始两个指针一个指向开头一个指向结尾,此时容器的底是最大的,接下来随着指针向内移动,会造成容器的底变小,在这种情况下想要让容器盛水变多,就只有在容器的高上下功夫。 那我们该如何决策哪个指针移动呢?我们能够发现不管是左指针向右移动一位,还是右指针向左移动一位,容器的底都是一样的,都比原来减少了 1。这种情况下我们想要让指针移动后的容器面积增大,就要使移动后的容器的高尽量大,所以我们选择指针所指的高较小的那个指针进行移动,这样我们就保留了容器较高的那条边,放弃了较小的那条边,以获得有更高的边的机会。
在这里插入图片描述

class Solution:
    def maxArea(self, height: List[int]) -> int:
        i,j=0,len(height)-1
        maxvol=(j-i)*min(height[i],height[j])
        while i<j:
            maxvol=max(maxvol,(j-i)*min(height[i],height[j]))
            if height[i]<height[j]:
                i+=1
            else:
                j-=1
        return maxvol
在matlab中运行自带的模块(以CCSDS LDPC Decoder模块为例) 最新版的获取需要注册 MathWorks 账户 访问账户注册页面:www.mathworks.cn/mwaccount/register。下载新版本或历史版本的MATLAB,请登陆:https://www.mathworks.cn/downloads 并下载。点击此处可以拷贝调用例程的命令,在matlab命令行输入即可自动获取代码。可以看到页面中写了该模块需要在R2022b以上版本使用。运行.m文件可以生成simulink运行所需要的数据。可以看到左侧下载到了官方历程的文件。之后双击slx文件即可打开。 阅读详情

相关推荐

Langchain4j 文档处理实战:从加载到分割的完整流程解析

本文详细解析了使用Langchain4j进行文档处理的完整流程,涵盖从文档加载、解析到分割的核心步骤。通过实战代码示例,重点介绍了如何利用文档分割器将大文档切割为适合大语言模型处理的片段,并提供了参数调优与避坑指南,帮助Java开发者高效构建AI应用的数据处理基础。

smartcontract5的博客 544

11.【中等】 盛最多水的容器

11. 盛最多水的容器题目描述双指针法思路代码 链接 题目描述 双指针法 思路 双指针 把两个指针所指的大小进行对比,把较小者往中间移动 代码 class Solution { public int maxArea(int[] height) { if(height == null || height.length == 0){ return 0;...

乌拉拉乌拉乌拉累 165

Python+Selenium实战:5分钟搞定快手评论区数据采集(附完整代码)

本文详细介绍了如何使用Python和Selenium快速采集快手评论区数据,提供完整的代码实现和优化方案。通过动态加载处理和智能等待策略,5分钟内即可构建高效的评论采集工具,适用于用户行为分析和内容挖掘等场景。

weixin_30415113的博客 344

4月打卡活动第18天 LeetCode第11题:盛最多水的容器(中等)

4月打卡活动第18天 LeetCode第11题:盛最多水的容器(中等) 之前做过啦~~

new_whiter的博客 154

S32DS IDE调试技巧:如何用条件断点精准捕获汽车电子MCU的硬件状态变化

本文详细介绍了S32DS IDE中条件断点功能在汽车电子MCU开发中的应用技巧。通过精准捕获硬件状态变化,工程师可以高效调试外设寄存器异常、时序敏感型交互等复杂场景,大幅提升汽车电子系统的开发效率。文章还提供了多种实战案例和性能优化建议,帮助开发者充分利用S32DS的调试功能。

CAT789的专栏 209

2025反爬虫革命:京东商品接口的动态指纹认证与量子加密传输方案

在2025年,全球电商API接口面临的安全威胁呈现指数级增长:京东构建了基于硬件、软件、行为三重维度的设备指纹模型:京东构建了基于BB84+E91混合协议的量子密钥中继网络:

FB13713612741的博客 1649

【LeetCode力扣】11. 盛最多水的容器 (中等)

这道题最优的方法就是用双指针,我们可以用指针left和指针right分别指向数组height[ ]的第一个数和最后一个数

m0_65277261的博客 901

CentOS 7下Ollama+Dify+DeepSeek离线部署全攻略(附模型迁移技巧)

本文详细介绍了在CentOS 7无网环境下,从零开始离线部署Ollama、DeepSeek模型与Dify平台的完整实战攻略。内容涵盖基础环境规划、Ollama服务安装、模型文件迁移技巧、Docker引擎离线部署,以及Dify平台与本地Ollama服务的集成配置,为企业内网构建安全、可控的AI应用提供了一套经过验证的解决方案。

weixin_28826521的博客 351

11. 盛最多水的容器[中等]✅

决定,移动较短的一边,才可能找到更大的面积。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。定义左右指针,分别指向数组两端。返回容器可以储存的最大水量。

一同进步 582

STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程

STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法:    2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。    2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出

overflyme的博客 1万+

c++实现异步线程池并详细分析线程池析构流程

多线程编程是提高程序性能和响应能力的关键技术之一,异步线程池作为多线程编程的一种有效实现方式,能够管理和复用线程资源,避免频繁创建和销毁线程带来的开销。在本文中,我们将深入探讨如何实现一个异步线程池。

2301_76564925的博客 1600

LeetCode 11. 盛最多水的容器(中等)

本文介绍了LeetCode第11题"盛最多水的容器"的解题思路。该问题要求在给定高度数组中找到两条垂线,使其与x轴构成的容器能容纳最多水。推荐使用双指针法:初始化首尾指针,每次移动较短边的指针并计算当前面积,更新最大值。通过贪心策略证明移动较短边的正确性。相比暴力枚举的O(n²)复杂度,双指针法时间复杂度为O(n),空间复杂度O(1)。文章提供了Java和Python代码实现,并分析了复杂度。核心要点是双指针逼近策略和移动较短边的原则,同时对比了两种方法的优劣,推荐双指针解法。

2501_91719633的博客 374

模型预测控制(MPC)解析(三):多输入多输出系统

本文为阅读笔记,仅供学习交流使用!!! 在之前的文章中,为了简单起见,以单输入单输出系统为例介绍了MPC控制的实现方法。因为使用的是状态空间方程作为系统模型,这种方法可以轻松的扩展到多输入多输出系统中。 ...

行者无疆的博客 1万+

11. 盛最多水的容器【中等】

给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

Miller_6的博客 996

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

leetcode: 11 盛最多水的容器 中等难度

题目描述 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

qq_33373173的博客 208

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LeetCode-11、盛最多水的容器-中等

LeetCode-11、盛最多水的容器-中等 示例: 输入: [1,8,6,2,5,4,8,3,7] 输出: 49 代码1:暴力法 class Solution: def maxArea(self, height): area = 0 if len(height) < 2: return area ...

clover_my的博客 149

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

leetcode 11. 盛最多水的容器 中等

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2401_88085478的博客 141

LeetCode_11_中等_盛最多水的容器

LeetCode_11:盛最多水的容器(中等)

Linshaodan520的博客 1107

双指针中等 NC168 盛水最多的容器 leetcode11. 盛最多水的容器

class Solution { public int maxArea(int[] height) { int area = 0, tmp = 0, left = 0, right = height.length-1; while(left < right){ tmp = Math.min(height[left],height[right])*(right-left); if(area < tmp){

31楼下小黑的博客 175

原创 LeetCode 11 盛最多水的容器(中等)

给你 n 个非负整数 a1,a2,…,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 思路与代码 双指

嗷嗷嗷嗷的博客 128

11. 盛最多水的容器 (中等)

给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色...

blue‘s blog 248

Leetcode中等:11. 盛最多水的容器

给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。把每一棵子树按照同样的方法分析,很容易可以知道,双索引法走的路径包含了最大面积。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。第二种:利用双索引的方法。第一种:利用暴力算法。

老马的程序人生 171

leetcode-11 | 盛最多水的容器 中等难度

date: 2019-4-24 15:32:46 11. 盛最多水的容器(Container With Most Water) 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明: 你不能倾斜容器...

梦否 321

Leetcode11.盛最多水的容器(中等题)

给定一个长度为 n 的整数数组 height,数组中的每个元素代表一条垂直线的长度。第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。总是移动高度较小的指针(因为移动较高的指针不可能得到更大的面积)这道题的思路是通过双指针(我做的时候也没想到)。输入:[1,8,6,2,5,4,8,3,7]:初始时宽度最大,任何其他组合的宽度都会更小。才可能遇到更高的线,从而可能获得更大的面积。(可能更小),所以面积必然减小。

m0_73895429的博客 443

leetcode题:11. 盛最多水的容器(中等)

一、题目描述:11. 盛最多水的容器(中等) 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且n的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,...

tankpanv的博客 203

11. 盛最多水的容器(中等题)

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

wufeifan_learner的博客 631
上一篇: 【困难】42. 接雨水-单调栈、动态规划、数学法、双指针
下一篇: 【中等】238. 除自身以外数组的乘积
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值