当前位置:网站首页>每日一题-盛最多水的容器-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;
}
边栏推荐
猜你喜欢
随机推荐
Tensorflow steps on the pit notes and records various errors and solutions
Polygon计算每一个角的角度
八、响应处理——ReturnValueHandler匹配返回值处理器并处理返回值原理解析
将一句话的单词进行倒置(C语言纯代码)
【UiPath2022+C#】UiPath变量和参数
基于STM32F407的一个温度传感器报警系统(用的是DS18B20温度传感器,4针0.96寸OLED显示屏,并且附带日期显示)
CVPR最佳论文得主清华黄高团队提出首篇动态网络综述
【shell编程】第三章:函数
MaskDistill - Semantic segmentation without labeled data
网络信息安全运营方法论 (中)
手把手教你搭建小程序
Comparison and summary of Tensorflow2 and Pytorch in terms of basic operations of tensor Tensor
【UiPath2022+C#】UiPath 循环
C语言程序死循环问题解析——变量被修改
ECCV2022 | RU & Google propose zero-shot object detection with CLIP!
Thread handler handle IntentServvice handlerThread
亲身实感十多年的面试官面试的题目
九、响应处理——内容协商底层原理
【UiPath2022+C#】UiPath 练习和解决方案-变量、数据类型和控制流程
读论文- pix2pix









