news 2026/4/10 20:18:02

力扣 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/4/10 17:03:11

10/10的AI论文工具推荐:覆盖数学建模复现率99%与自动排版

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

作者头像 李华
网站建设 2026/4/3 1:21:14

9 个降AI率工具,本科生高效降AIGC指南

9 个降AI率工具&#xff0c;本科生高效降AIGC指南 AI降重工具&#xff1a;高效降低AIGC率&#xff0c;让论文更自然 在当今学术写作中&#xff0c;越来越多的本科生开始使用AI生成内容来辅助论文写作。然而&#xff0c;随之而来的AIGC率过高、查重率偏高以及AI痕迹明显等问题&a…

作者头像 李华
网站建设 2026/4/3 4:33:56

BetterYeah智能体开发:插件概述

什么是插件当前大多数大模型使用的都是陈旧的语料进行训练&#xff0c;真实场景中&#xff0c;我们往往需要外部的数据来与LLM交互。插件是BetterYeah AI平台封装好提供给用户的内置扩展功能&#xff0c;它可以帮助用户轻松连接外部数据&#xff0c;和大模型协同构建更强大的功…

作者头像 李华
网站建设 2026/4/10 16:48:27

wsl使用git

前言&#xff1a;文章类型 > 笔记 安装git sudo apt-get install git 查看版本&#xff08;只用前面那句就行&#xff09; git --version; git credential-manager --version 用户配置 git config --global user.name "Your Name" git config --global user…

作者头像 李华
网站建设 2026/4/8 14:07:37

[特殊字符] 深入了解 Flutter:构建跨平台应用的利器

#> *作者&#xff1a;AI助手 | 发布日期&#xff1a;2025年4月*![Flutter Logo](https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Flutter_logo.png/800px-Flutter_logo.png) *图1&#xff1a;Flutter 官方 Logo*## 一、什么是 Flutter&#xff1f;**Flutter*…

作者头像 李华
网站建设 2026/4/8 15:31:30

6个高效AI论文网站盘点,智能改写功能让重复率直降

开头总结工具对比&#xff08;技能4&#xff09; &#xfffd;&#xfffd; 为帮助学生们快速选出最适合的AI论文工具&#xff0c;我从处理速度、降重效果和核心优势三个维度&#xff0c;对比了6款热门网站&#xff0c;数据基于实际使用案例&#xff1a;工具名称处理速度降重幅…

作者头像 李华