当前位置:网站首页>leetcode 11. 盛最多水的容器
leetcode 11. 盛最多水的容器
2022-08-03 12:29:00 【_刘小雨】
作者简介:C/C++ 、Golang 领域耕耘者,创作者
个人主页:作者主页
活动地址:CSDN21天学习挑战赛
题目来源: leetcode官网
如果感觉博主的文章还不错的话,还请关注 、点赞 、收藏🧡三连支持一下博主哦~~~
题目描述
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明:你不能倾斜容器。

示例1:
输入:[1,8,6,2,5,4,8,3,7]
输出:49
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
示例2:
输入:nums = [0,0,0], target = 1
输出:0
🧡 算法分析
此题方法之一是用贪心

方法比较巧妙, 直接说算法步骤
- 直接利用双指针,一个指向开头
left,一个指向结尾right; - 保存构成容器的面积;
- 移动指针了,这里只有两种情况
- 当前面指针指向的高度 < 后面指针指向的高度, left ++;
- 当前面指针指向的高度 >= 后面指针指向的高度, right ++;
- 更新构成容器的面积, 循环直到 left == right
- 返回构成最大面积
代码实现
class Solution {
public:
int maxArea(vector<int>& height) {
// 用双指针扫描
// 如果前面的指针高度低,前面的指针向后移动, 如果后面的指针低,后面指针向前移动
int re = 0;
for(int i = 0, j = height.size() - 1; i < j ; )
{
re = max(re, min(height[i], height[j]) * (j - i));
if(height[i] < height[j]) i++;
else j--;
}
return re;
}
};
执行结果:
时间复杂度分析
其中遍历一次, 时间复杂度为O(n)
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
🧡 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
猜你喜欢

Knowledge Graph Question Answering System Based on League of Legends

苹果发布 AI 生成模型 GAUDI,文字生成 3D 场景

基于php网上零食商店管理系统获取(php毕业设计)

What knowledge points do you need to master to learn software testing?

622. 设计循环队列

Jmeter使用

信创建设看广州|海泰方圆亮相2022 信创生态融合发展论坛

4500 words sum up, a software test engineer need to master the skill books

漫画:怎么证明sleep不释放锁,而wait释放锁?

Oracle安装完毕(系统盘),从系统盘转移到数据盘
随机推荐
An动画优化之补间形状与传统补间的优化
YOLOv5训练数据提示No labels found、with_suffix使用、yolov5训练时出现WARNING: Ignoring corrupted image and/or label
pandas连接oracle数据库并拉取表中数据到dataframe中、筛选当前时间(sysdate)到一天之前的所有数据(筛选一天范围数据)
3年软件测试经验,不懂自动化基础...不知道我这种测试人员是不是要被淘汰了?
【深度学习】高效轻量级语义分割综述
可重入锁详解(什么是可重入)
-找树根-
【实战技能】单片机bootloader的CANFD,I2C,SPI和串口方式更新APP视频教程(2022-08-01)
使用 %Status 值
Key points for account opening of futures companies
Oracle安装完毕(系统盘),从系统盘转移到数据盘
自律成就自己
YOLOv5 training data prompts No labels found, with_suffix is used, WARNING: Ignoring corrupted image and/or label appears during yolov5 training
php microtime 封装工具类,计算接口运行时间(打断点)
数据库系统原理与应用教程(075)—— MySQL 练习题:操作题 151-159(十九):综合练习
Free Internet fax platform fax _ don't show number
AMS simulation
图像融合GAN-FM学习笔记
[数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念「建议收藏」
无监督学习KMeans学习笔记和实例