news 2026/1/18 5:10:48

力扣 11.盛最多水的容器 简单的双指针算法 题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣 11.盛最多水的容器 简单的双指针算法 题解

题目描述

给定一个长度为n的整数数组a。有n条垂线,第i条线的两个端点是(i, 0)(i, a[i])

找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。

​ 输出容器可以储存的最大水量。

**说明:**你不能倾斜容器。

输入格式

输入共 2行。

输入的第一行为一个正整数 n,表示n条垂线。

输入的第二行为n个正整数,第i个数代表a[i]的值。

输出格式

输出一行一个整数,表示容器可以储存的最大水量。

输入输出样例

输入 #1复制

9 1 8 6 2 5 4 8 3 7

输出 #1复制

49

输入 #2复制

2 1 1

输出 #2复制

1

说明/提示

对于 100% 的数据,2≤n≤10^6,0≤a[i]≤10^4。

思路:

我们可以分别让变量l和r作为数组开头和结尾的位置,开一个while循环,通过比较l和r位置的高低,用低的来进行容积计算((r-l)*h),如何谁低,谁位置就进行位移,比如l位置低,l++,这样才能找到更高的位置进行计算,当l和r重合的时候也就是所有容积都计算了的时候,时间复杂度o(n)。

主播的代码(主播在编译器上写的,不是力扣平台):

#include <iostream> #include<queue> #include<algorithm> #include<map> #include<vector> #include<set> #include<stack> #include<string> #include<math.h> #include <iomanip> #include<unordered_map> #include <unordered_set> #include<array> #define gets(S) fgets(S,sizeof(S),stdin) #define ll long long const ll N = 2e6 + 5; const ll Max = 0x3f3f3f3f; using namespace std; ll n; int main() { cin >> n; vector<ll>saki(n + 1, 0); for (int i = 1; i <= n; i++) { cin >> saki[i]; } ll l = 1, r = n, sum = 0; while (l < r) { ll w = min(saki[l], saki[r]); sum = max(((r - l) * w), sum); saki[l] >= saki[r] ? r-- : l++; } cout << sum; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/17 3:51:44

传统写作耗时?这10个AI工具实现数学建模论文复现与排版自动化

还在为论文写作头痛&#xff1f;特别是数学建模的优秀论文复现与排版&#xff0c;时间紧、任务重&#xff0c;AI工具能帮上大忙吗&#xff1f;今天&#xff0c;我们评测10款热门AI论文写作工具&#xff0c;帮你精准筛选最适合的助手。 aibiye&#xff1a;专注于语法润色与结构…

作者头像 李华
网站建设 2026/1/9 10:30:18

华为ensp软件安装

华为ensp软件安装 一、软件包&#xff08;WinPcap、wireshark、virtualbox、ensp&#xff09; 通过网盘分享的文件&#xff1a;华为项目软件包(WinPcap、wireshark、virtualbox、ensp)链接: https://pan.baidu.com/s/1GaI88OVr877Bi8uNpSTlhg 提取码: hl88 二、软件下载(按照顺…

作者头像 李华
网站建设 2025/12/24 21:21:34

Type-C接口跟USB接口有什么区别?

Type-C接口与USB接口&#xff08;包括传统USB-A、USB-B等&#xff09;在物理结构、功能特性、应用场景等方面存在显著差异。以下是详细对比分析&#xff1a; 一、物理结构差异 Type-C接口 双面可插&#xff1a;采用对称设计&#xff0c;正反面均可插入&#xff0c;解决了传统US…

作者头像 李华
网站建设 2026/1/8 0:38:59

线性表定义和基本操作

1.线性表的定义 线性表是具有相同数据类型的 n(n>0) 个数据元素的有限序列&#xff0c;其中 n 为表长&#xff0c;当n0时线性表是一个空表。&#xff08;忘记数据元素概念的可以参考https://blog.csdn.net/XinxingZh/article/details/155854415?fromshareblogdetail&s…

作者头像 李华
网站建设 2025/12/20 20:03:02

第10000辆尊界S800量产下线,车主为李连杰

12月16日&#xff0c;尊界S800第10000台下线仪式在安徽合肥尊界超级工厂举行。活动现场还举行了尊界S800车主交付仪式&#xff0c;项兴初、余承东向车主代表交付新车钥匙&#xff0c;将现场气氛推向高潮。这第10000辆尊界S800的车主&#xff0c;是功夫巨星李连杰。作为江汽集团…

作者头像 李华