LeetCode.M11.盛最多水的容器
LeetCode.M11
题目:
题目大意:
如图所示。
数据范围:
如图所示
思路:
采用双指针,所容纳的水为min(h[l], h[r]) * (r - l) ,初始时l = 0,r = len - 1,接下来选择该移动哪边的指针。无论l或r向中间收缩一格,都会导致水槽底边宽度(r - l)变短:
- 若向内移动短板 ,水槽的短板 min(h[i],h[j]) 可能变大,因此下个水槽的面积可能增大 。
- 若向内移动长板 ,水槽的短板 min(h[i],h[j]) 不变或变小,因此下个水槽的面积一定变小 。
因此我们每次只需要向内移动短板的指针即可。
代码:
class Solution {public int maxArea(int[] height) {int l = 0, r = height.length - 1, res = 0;while (l < r){int hl = height[l], hr = height[r], t = r - l;if (hl < hr){res = Math.max(res, t * hl);l ++ ;}else {res = Math.max(res, t * hr);r -- ;}}return res;}
}public class Main {public static void main(String[] args) {Solution solution = new Solution();int[] nums = new int[]{1,8,6,2,5,4,8,3,7};System.out.println(solution.maxArea(nums));}
}
时空复杂度分析等:
时间复杂度 : O(n)
空间复杂度 : O(1)
题目链接:
11. 盛最多水的容器 - 力扣(LeetCode)
LeetCode.M11.盛最多水的容器相关推荐
- [贪心|双指针] leetcode 11 盛最多水的容器
[贪心|双指针] leetcode 11 盛最多水的容器 1.题目 题目链接 给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 ...
- LeetCode 11. 盛最多水的容器
11. 盛最多水的容器 思路:双指针,放弃低的那边 class Solution { public:int maxArea(vector<int>& height) {int n= ...
- 20200120:(leetcode)盛最多水的容器 两种解法
盛最多水的容器 题目 基本思路 代码实现 题目 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ...
- 【leetcode】 盛最多水的容器
一.题目描述 给定一个长度为 n 的整数数组 height .有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) . 找出其中的两条线,使得它们与 x 轴共同构成 ...
- LeetCode 11. 盛最多水的容器(双指针)
文章目录 1. 题目信息 2. 解题 1. 题目信息 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) . 在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 ...
- leetcode —— 11. 盛最多水的容器
给定 n 个非负整数 a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,每个数代表坐标中的一个点 (i,ai)(i, a_i)(i,ai) .在坐标内画 n 条垂 ...
- 6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) .找出其中的两条线 ...
- LeetCode #11 盛最多水的容器
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) .找出其中的两条线 ...
- LeetCode 11 盛最多水的容器
https://leetcode-cn.com/problems/container-with-most-water/ 解决方案 class Solution {public int maxArea( ...
最新文章
- 201621123057 《Java程序设计》第12周学习总结
- visual studio 运行java_Visual Studio 支持 Java?谣言止于智者
- 社交网络登录失败 当尝试用您的社交网络账号进行第三方登录时,发生了一个错误。
- 数据结构---多源最短路径
- 事业编待遇怎么样?考入事业编的分享一下吧?
- sql nolock_SQL Server NOLOCK和最佳优化
- 函数递归/二分法/列表,字典生成式/三元表达式/匿名函数/内置函数
- Android开发者必备工具-常见Android模拟器(MuMu、夜神、蓝叠、逍遥、雷电、Genymotion...)
- 刚刚,5000000 里程碑达成!
- Wannacry 勒索病毒有预设的解密口令“WNcry@2ol7”么?
- python中iter函数_Python基础:iter函数的两个参数
- Excel VBA 中有关使用 UBound + CurrentRegion 提示类型不匹配的问题及解决方案
- MySQL批量查某个库里每张表的数据量
- 盛迈坤电商:店铺自然流量怎么提升
- [ASP.NET MVC 小牛之路]02 - C#知识点提要
- Java编程序哥德巴赫猜想
- 分享一个Spring MVC 根据图片URL,下载图片的方法
- Django基础概念和MVT架构(一)
- 理解资产定价领域的“均衡模型”:APT、CAPM、马歇尔、瓦尔拉斯、无套利均衡
- 开发java的准备--下载与安装Java的JDK—Java学习(1)