当前位置:网站首页>每日一题-盛最多水的容器-0716
每日一题-盛最多水的容器-0716
2022-08-05 05:17:00 【菜鸡程序媛】
题目
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
思路
- 一个下标从左开始走,另一个下标从右开始走。对比两边柱子的高度,因为装水,所以较矮的一边是容器的高度。
- 当前能装的最大体积,就是min(height[left], height[right])*(right-left),用过的一边就需要向前进,再找当前的最大体积。
- 同时需要一个变量,不断的去更新这个容器能装水的最大值。res = Math.max(res, min(height[left], height[right])*(right-left))
代码
public int maxArea(int[] height) {
if(height == null || height.length == 0)
return 0;
int res = 0;
int left = 0, right = height.length - 1;
// 不断的迭代容器可以盛水的最大值
while(left < right){
res = height[left] > height[right] ? Math.max(res, (right - left) * height[right --]) :
Math.max(res, (right - left) * height[left ++]);
}
return res;
}
边栏推荐
- 【ts】typescript高阶:条件类型与infer
- 读论文-Cycle GAN
- CVPR2021 - Inception Convolution with Efficient Dilation Search
- 九、响应处理——内容协商底层原理
- C语言联合体union占用空间大小问题
- A deep learning code base for Xiaobai, one line of code implements 30+ attention mechanisms.
- Redis设计与实现(第二部分):单机数据库的实现
- 2021电赛资源及经验总结
- LeetCode刷题之第23题
- [Pytorch study notes] 11. Take a subset of the Dataset and shuffle the order of the Dataset (using Subset, random_split)
猜你喜欢
随机推荐
深度学习系列(一)简介、线性回归与成本函数
framebuffer应用编程及文字显示(2)
Thread handler handle IntentServvice handlerThread
表情捕捉的指标/图像的无参考质量评价
每日一题-DFS
UiPath简介
[Database and SQL study notes] 10. (T-SQL language) functions, stored procedures, triggers
SQL(1) - Add, delete, modify and search
leetCode刷题之第31题
LeetCode刷题之第746题
沁恒MCU从EVT中提取文件建立MounRiver独立工程
关于存储IOPS你必须了解的概念
1008 数组元素循环右移问题 (20 分)
每日一题-字典
LeetCode刷题之第24题
2021电赛资源及经验总结
MSRA proposes extreme masking model ExtreMA for learning instances and distributed visual representations
浅谈遇到的小问题
(oj)原地移除数组中所有的元素val、删除排序数组中的重复项、合并两个有序数组
idea 快速日志