python容器装水_Python版LeetCode11. 盛最多水的容器
本文转载自【微信公众号:机器学习算法与Python精研,ID:AITop100】经微信公众号授权转载,如需转载与原文作者联系
题目:
给定 个非负整数 1,2,...,n,每个数代表坐标中的一个点 (, ) 。画 条垂直线,使得垂直线 的两个端点分别为 (, ) 和 (, 0)。找出其中的两条线,使得它们与 轴共同构成的容器可以容纳最多的水。
注意:你不能倾斜容器, 至少是2。
思路1:
此题需要现象空间,
从最长的长度开始(两端),取矮的为高,左边矮则向右移动,若右边矮,则向左边移动,因为只有移动矮的那一方才有可能获得更高的。
这种方法如何工作?
最初我们考虑由最外围线段构成的区域。现在,为了使面积最大化,我们需要考虑更长的线段之间的区域。如果我们试图将指向较长线段的指针向内移动,我们的面积不会获得任何增加,因为它将受限于较短的线段。但是,在同样的条件下,移动较短的线的指针尽管会造成宽度的减小,但却可能有助于面积的增大。因为通过移动较短线段的指针会得到相对较长的线段,这可以克服由宽度减小而引起的面积减小。
参考代码1:
classSolution:defmaxArea(self, height):""" :type height: List[int] :rtype: int """ ans = left = right = len(height) - 1while left < right: ans = max(ans, (right - left) * min(height[left], height[right]))if height[left] <= height[right]: left += 1else: right -= 1return ans
提交结果:
python容器装水_Python版LeetCode11. 盛最多水的容器相关推荐
- leetcode11盛最多水的容器
题目描述:给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) .找出其中的 ...
- LeetCode11.盛最多水的容器
题目描述: 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的 ...
- leecode-11盛最多水的容器C版-双指针的使用
1. 盛最多水的容器 描述:给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, ...
- 算法leetcode|11. 盛最多水的容器(rust重拳出击)
文章目录 11. 盛最多水的容器: 样例 1: 样例 2: 提示: 原题传送门: 分析 题解 rust go c++ java typescript python 11. 盛最多水的容器: 给定一个长 ...
- 漫画:腾讯面试题(盛最多水的容器)
来自:小浩算法 01 PART 盛最多水的容器 这道题目会了的朋友可能觉得很简单,但是我觉得这题实在很经典,所以还是得拿出来讲讲.还有一个进阶版本"接雨水",将在后面为大家讲解. ...
- leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
- 【LeetCode】1. 盛最多水的容器:C#三种解法
题目:https://leetcode-cn.com/problems/container-with-most-water/ 盛最多水的容器 难度:中等 给你 n 个非负整数 a1,a2,...,an ...
- 11. 盛最多水的容器 golang
11. 盛最多水的容器 (一道比较特殊的题) 之所以说特殊是因为这个题用动态规划反而比暴力破解法还复杂. 这种容器的题,就是前后指针方向.尽量别考虑别的思路. 11. 盛最多水的容器 给你 n 个非负 ...
- [Leedcode][JAVA][第11题][盛最多水的容器][双指针][贪心]
[问题描述]11.盛最多水的容器 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 ...
最新文章
- 【VS实践】代码调试与错误处理
- python对数运算符号_科学网—Python中算数运算符之注意及np.logspace - 张伟的博文...
- Linux - CentOS 6.3 (x86_64)安装过程详细图解
- 线上分享 | 价值与风险,像投资者一样做产品决策
- 【转】SMIL基础教程(1)
- 设置tableView的分割线从最左端开始
- 查询空值中的注意事项
- C语言 删除文件 M,最全的C盘可删除文件清单
- 面试题 17.14. 最小K个数
- H5源码口红机在线游戏无需公众号
- python怎么写出正弦图_如何使用python在图像上生成随机正弦条纹?
- 堪比科幻大片!优酷特效广告、互动视频技术大揭秘
- linux环境下redis安装
- Tomcat架构探究
- rocketmq双主双从----四台服务器
- 算法是如何体现价值的
- js/vue:video 视频播放器
- C语言读取wav文件
- 主流智能手机屏幕材质介绍 及 LCD闪屏现象分析
- 女人为什么喜欢抱着男人睡觉,一定…
热门文章
- 1加6投屏_6月的早餐,1杯牛奶加燕麦,营养健康又美味,饱腹感很强
- 动态规划算法分析与探究
- oracle 中表变量的用法,oracle 表类型变量的使用
- uc手机浏览器 手机模拟_网页为何总报浏览器漏洞?起底某些手机浏览器恶意推广行为...
- linux执行使分区生效的命令,Linux硬盘分区生效命令partprobe
- fat32转ntfs工具无损数据安全转换_干货真香! 无损制作UD三分区教程,新手小白的福利来了...
- Python把list变为str
- 加密原理公钥私钥CA
- 关于机器学习的最佳科普文章:《从机器学习谈起》
- 实验吧-杂项-WTF?(python 01代码转图片)