LeetCode - 11. Container With Most Water 盛最多水的容器
题目
解析
使用双指针:
- 两个指针从两边开始出发,遍历的过程中使用一个变量
max
记录最大值; - 因为
x
轴方向每两个之间的宽度是相同的,所以向中间移动的时候,要选择高度更小的那个向中间移动;
class Solution {
public int maxArea(int[] height) {
int max = 0;
for (int l = 0, r = height.length - 1; l < r; ) {
if (max < (r - l) * (Math.min(height[l], height[r]))) {
max = (r - l) * (Math.min(height[l], height[r]));
}
if (height[l] > height[r])
r--;
else
l++;
}
return max;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论