力扣11-盛最多水的容器

news/2024/10/19 23:32:01/

题目

给定一个长度为 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.ppmy.cn/news/1538758.html

相关文章

Web Socket 使用详解

在信息爆炸的时代&#xff0c;用户对网页的期待早已超越了静态内容的展示。实时聊天、股票报价、协同编辑等功能的实现&#xff0c;都离不开服务器与客户端之间持续、高效的数据交互。传统的HTTP请求-响应模型难以满足这种需求&#xff0c;而WebSocket的出现&#xff0c;为构建…

人工智能和机器学习之线性代数(一)

人工智能和机器学习之线性代数&#xff08;一&#xff09; 人工智能和机器学习之线性代数一将介绍向量和矩阵的基础知识以及开源的机器学习框架PyTorch。 文章目录 人工智能和机器学习之线性代数&#xff08;一&#xff09;基本定义标量&#xff08;Scalar&#xff09;向量&a…

SQLI LABS | SQLI LABS 靶场初识

关注这个靶场的其它相关笔记&#xff1a;SQLI LABS —— 靶场笔记合集-CSDN博客 0x01&#xff1a;SQLI LABS 靶场简介 SQLi-Labs 靶场是一个专门用于学习和测试 SQL 注入漏洞的开源靶场&#xff0c;该靶场提供了多个具有不同漏洞类型和难度级别的 Web 应用程序的环境。这些应用…

话术testtest

1.开班话术 &#xff08;短期班或特色课&#xff09;完整版一封信示例&#xff08;包含价格&#xff09; 开班前一封信 亲爱的家长们&#xff1a; 你们好&#xff01; 我是xxx&#xff01;接下来我们要一起学习英语啦&#xff01; 个人履历&#xff1a;幼少儿英语教学8年教学经…

图解IP分类及子网掩码计算实例

一、什么是IP地址 在网络世界中&#xff0c;人们为了通信方便给每一台计算机都事先分配一个类似电话号码一样的标识地址&#xff0c;即IP地址。根据TCP/IP协议&#xff0c;IP地址由32位二进制数组成&#xff0c;而且在INTERNET范围内是唯一的。假如某台计算机IP地址为11000000…

Git 深度解析 —— 从基础到进阶

目录 1. Git 基础概念 1.1 版本控制 (Version Control) 1.2 分布式版本控制 (Distributed Version Control) 1.3 核心概念 1.4 Git 工作流程 2. Git 常用命令 2.1 初始化仓库 2.2 添加文件 2.3 提交修改 2.4 查看状态 2.5 查看历史记录 2.6 切换分支 2.7 创建分支…

【微信小程序_9_WXSS模板样式】

摘要:本文主要介绍了微信小程序开发中的 WXSS。WXSS 类似于网页开发中的 CSS,具有其大部分特性同时又有扩展,如 rpx 尺寸单位、@import 样式导入等。其中 rpx 是解决屏适配的独特单位,有特定实现原理和不同设备的换算方式。@import 可导入外联样式表,有明确语法格式和示例…

高一全栈开发;国产 Arc 浏览器;Tauri 2.0 发布 | 生活周刊 #3

发现新应用 Vectorcraftr Vectorcraftr 提供免费可商用的插画库&#xff0c;风格有很多&#xff0c;自行食用 书立 一款功能强大、特性丰富的笔记软件&#xff0c;包含富文本&#xff0c;双链&#xff0c;表格&#xff0c;富目录树&#xff0c;WebDAV &#xff0c;自由导出等…