力扣11-盛最多水的容器

题目

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

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

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

思路

  1. 双指针法

    • 使用两个指针:一个指向数组的开始(左边),一个指向数组的结束(右边)。
    • 每次计算由当前两个指针所形成的水面积,面积的计算公式为:

    • 然后根据柱子的高度,决定移动哪一个指针:
      • 如果 height[i] < height[j],则移动左指针 i 向右;这样可能会找到更高的柱子。
      • 如果 height[j] ≤ height[i],则移动右指针 j 向左;同样可能会找到更高的柱子。
    • 继续这个过程,直到两个指针相遇。
  2. 计算最大面积

    • 在每次移动指针时,更新当前的最大水面积。

复杂度分析

  1. 时间复杂度

    • 在最坏情况下,每个指针最多遍历整个数组一次,因此时间复杂度为 O(n)其中 n 是数组 height 的长度。
  2. 空间复杂度

    • 只使用了常量数量的额外空间来存储指针和最大水面积的值,因此空间复杂度为 O(1)。

代码

class Solution {
public:int maxArea(vector<int>& height) {int n=height.size();int i=0,j=n-1;int maxWater=0;while(i<j){maxWater=max(maxWater,(j-i)*min(height[i],height[j]));if(height[i]<height[j]){i++;}else{j--;  }}return maxWater;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559473.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

flask发送邮件

开通邮件IMAP/SMTP服务 以网易邮箱为例 点击开启发送验证后会收到一个密钥&#xff0c;记得保存好 编写代码 安装flask-mail pip install flask-mail在config.py文件中配置邮件信息 MAIL_SERVER&#xff1a;邮件服务器 MAIL_USE_SSL&#xff1a;使用SSL MAIL_PORT&#…

SpringBoot开发——整合Actuator监控和管理Spring Boot 应用

文章目录 1、Spring Boot Actuator2、启用Spring Boot Actuator2.1项目中添加Spring Boot Actuator依赖2.2 启动项目,查看监控信息3、Spring Boot Actuator提供的端点(Endpoints)3.1 端点列表3.2 启用终端节点3.3 暴露端点3.4 常用端点详解1、Spring Boot Actuator Spring …

Umi中的微前端

umi/max 内置了 Qiankun 微前端插件&#xff0c;它可以一键启用 Qiankun 微前端开发模式&#xff0c;帮助您轻松地在 Umi 项目中集成 Qiankun 微应用&#xff0c;构建出一个生产可用的微前端架构系统。 什么是微前端 微前端是一种多个团队通过独立发布功能的方式来共同构建现代…

腾讯云SDK 下载

产品体验 App 移动端-腾讯云音视频 App 您可以下载腾讯云音视频 App&#xff0c;体验音视频终端 SDK 产品家族中各个子产品 SDK 的应用场景。 平台 iOS Android Demo 体验 &#xfeff; &#xfeff;&#xfeff;&#xfeff; &#xfeff;&#xfeff; Web 端-Web D…

88、Python之鸭子类型:函数是对象,对象也可以像函数一样使用

引言 在前面的文章中&#xff0c;我们曾经反复提及的理念&#xff0c;“Python中一切皆对象”。在这个理念支持下&#xff0c;Python中的函数也是对象的一种&#xff0c;那么我们有没有办法自定义对象&#xff0c;像函数一样来使用呢。 按照鸭子类型的理念来看&#xff0c;如…

【Delphi】使用并行数组和有序字典加快 Delphi RTL 速度(D12.2)

Delphi 12.2新增功能比较多&#xff0c;但 Delphi 运行时库&#xff08;RTL&#xff09;中的一些增强功能值得一提。比如: 新 TParallelArray 类 System.Threading 单元中有一个新的 TParallelArray 类&#xff0c;可以在数组项上并行运行 &For 和排序等操作。 在多核系统…

【有啥问啥】 群体智能(Swarm Intelligence):从自然到人工智能的深度探索

群体智能&#xff08;Swarm Intelligence&#xff09;&#xff1a;从自然到人工智能的深度探索 什么是群体智能&#xff1f; 群体智能&#xff08;Swarm Intelligence&#xff09;是一个迷人的研究领域&#xff0c;它专注于社会性生物&#xff08;如蚂蚁、蜜蜂、鸟类等&#…

ML 系列:机器学习和深度学习的深层次总结(16) — 提高 KNN 效率-使用 KD 树和球树实现更快的算法

一、说明 在机器学习系列的第 16 节&#xff0c;我们重点介绍了提高 K 最近邻 &#xff08;KNN&#xff09; 算法的效率&#xff0c;这是一种广泛用于分类和回归任务的方法。虽然 KNN 简单有效&#xff0c;但对于大型数据集来说&#xff0c;其计算成本可能会令人望而却步。为了…

实验室认证需要准备哪些文件材料?

实验室认证需要准备的文件材料通常包括以下几类&#xff1a; 一、法律地位文件 实验室成立文件及营业执照&#xff1a;包括实验室的成立证明文件、单位营业执照等&#xff0c;以证明实验室的法律地位和合法性。 人员任命文件&#xff1a;最高管理者&#xff08;如总经理&…

Android 10.0 修改Systemui三键导航栏虚拟按键颜色功能实现

1.前言 在10.0的系统ROM定制化开发中,在对systemui的相关定制化开发中,在某些产品中,需要修改相关的 导航栏三键导航的虚拟按键的颜色,修改掉原来默认的虚拟按键的黑白色,接下来就来实现相关的功能 2.修改Systemui三键导航栏虚拟按键颜色功能实现的核心类 frameworks\ba…

图像处理(一)——CMC特刊推荐

特刊征稿 01 期刊名称&#xff1a; Data and Image Processing in Intelligent Information Systems 截止时间&#xff1a; 提交截止日期:2024年11月15日 目标及范围&#xff1a; 感兴趣的主题包括但不限于&#xff1a; 先进的数据处理技术; 智能数据分析; 智能系统…

【芯智雲城】Nanya车规DRAM存储解决方案

一、车规级芯片的特点&#xff1a; 汽车电子零部件的关键因素是以下两点&#xff1a; 1、可靠性&#xff08;Reliability&#xff09;&#xff1a;要求部件必须能够承受日常使用的严酷和极端的温度、湿度、机械振动、冲击及车辆的复杂电气和电磁环境。 AEC-Q100对汽车零件工…

ARMv7/v8m GCC Compilation

00-Guide01-Toolchains02-GNU binutils03-ELF file04-Compilation process05-CFLAGS options06- Linker Scripts07 -Link Options08-Map file09-Static and dynamic lib10-Secureboot and image11-Builtin functions12-Function Attributes

聚合数字力量,数字产业集团构建产业互联新平台!

在数字经济蓬勃发展的今天&#xff0c;数字产业集团正以其强大的聚合力&#xff0c;引领着一场前所未有的产业互联革命。近日&#xff0c;中国信息协会产业互联网分会发布的《中国产业互联网平台数据地图》显示&#xff0c;全国已有超过1000家产业互联网平台企业&#xff0c;覆…

Kubernetes简介与部署+Pod管理与优化

一、简介 1.基础信息 在Docker 作为高级容器引擎快速发展的同时&#xff0c;在Google内部&#xff0c;容器技术已经应用了很多年Borg系统运行管理着成干上万的容器应用。Kubernetes项目来源于Borg&#xff0c;可以说是集结了Borg设计思想的精华&#xff0c;并且吸收了Borg系统…

易泊车牌识别在 4S 店的应用

在当今数字化时代&#xff0c;车牌识别技术正逐渐成为各个行业提高效率和服务质量的重要工具。其中&#xff0c;易泊车牌识别系统在 4S 店中发挥着重要作用。 一、快速车辆登记 当客户驾车来到 4S 店时&#xff0c;易泊车牌识别系统能够迅速识别车牌号码&#xff0c;自动将车辆…

GPT-SOVIT模型部署指南

一、模型介绍 强大的小样本语音转换和文本转语音 WebUI。 具有以下特征&#xff1a; 零样本 TTS&#xff1a; 输入 5 秒的声音样本并体验即时文本到语音的转换。少量样本 TTS&#xff1a; 仅使用 1 分钟的训练数据对模型进行微调&#xff0c;以提高语音相似度和真实感。跨语…

历时一个多月,搭建了一款培训考试小程序系统

前不久&#xff0c;一位在机构单位工作的朋友联系到我&#xff0c;说他们需要搭建一款内部培训考试系统&#xff0c;是关于安全知识学习与考试的。 此处省略好多张聊天页...... 为此&#xff0c;针对用户的需求&#xff0c;在搭建前&#xff0c;我做了大量的竞品分析&#xff…

MediaPlayer视频播放流程

MediaPlayer视频播放流程(基于Android8.0) 1. MediaPlayer源码分析 1.0 public class MediaPlayer extends PlayerBase implements SubtitleController.Listener, VolumeAutomation, AudioRoutingMediaPayer继承自PlayerBase类&#xff0c;分别实现了SubtitleController Volume…

带外管理卡虚拟控制台连接总结--持续更新

为避免维护服务器、小型机为连接虚拟控制台&#xff0c;采用的办法不对而导致浪费时间&#xff0c;特做以下总结&#xff1a; ##1、DELL PowerEdge R510 idrac 6(intergrated dell remote access contoller 6) server 2003 R2 SP2 用chomre 版本 47.0.2526.80 m打开https://…