当前位置: 首页 > news >正文

【双指针】盛水最多的容器

盛水最多的容器

文章目录

  • 盛水最多的容器
    • 题目描述
    • 算法原理
      • 思路一
      • 思路二
    • 代码实现
      • Java代码实现
      • C++代码实现

题目描述

给定一个长度为 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:

输入:height = [1,1]
输出:1

提示:

  • n == height.length
  • 2 <= n <= 105
  • 0 <= height[i] <= 104

算法原理

思路一

暴力枚举,两层for循环,没啥意思,会超时

时间复杂度为O(n^2)

思路二

利用单调性,使用双指针来解决问题

时间复杂度O(n)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

代码实现

Java代码实现

class Solution {public int maxArea(int[] height) {int left = 0, right = height.length - 1 , ret = 0;while(left < right){int v = Math.min(height[left], height[right]) * (right - left);ret = Math.max(ret, v);if(height[left] < height[right]) left++;else right--;}return ret;}
}

C++代码实现

class Solution {
public:int maxArea(vector<int>& height) {int left = 0, right = height.size() - 1, ret = 0;while(left < right){int v = min(height[left], height[right]) * (right - left);ret = max(ret, v);if(height[left] < height[right]) left ++ ;else right --;}return ret;}
};
http://www.lryc.cn/news/238646.html

相关文章:

  • win11,引导项管理
  • YoloV8改进策略:WaveletPool解决小目标的混叠问题,提高小目标的检测精度
  • JavaScript中的假值对象是什么?
  • 求二叉树的最大密度(可运行)
  • V100 GPU服务器安装CUDNN教程
  • RT-Thread Hoist_Motor PID
  • css 实现文字流光效果
  • 3D格式转换工具
  • seismicunix基础-声波波动方程推导
  • 2024电脑录屏软件排行第一Camtasia喀秋莎
  • MQTT通信协议使用说明
  • mysql底层是如何存放数据的
  • 【代码随想录】刷题笔记Day33
  • AD从原理图到PCB超详细教程
  • 2023.11.20使用flask做一个简单图片浏览器
  • https和http的区别和优势
  • Docker 启动alpine镜像中可执行程序文件遇到 not found
  • .net对接阿里云CSB服务
  • Json数据格式
  • Kafka-Producer
  • Ubuntu20上离线安装samba
  • 【开源】基于Vue.js的教学过程管理系统
  • 【C++】泛型编程 ⑪ ( 类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 )
  • 动手学深度学习——循环神经网络的简洁实现(代码详解)
  • 19.删除链表的倒数第 N 个节点
  • 机器人制作开源方案 | 莲花灯
  • 华为无线ac+fit三层组网,每个ap发射不同的业务vlan
  • 人工智能:科技之光,生活之美
  • mysql8.0英文OCP考试第61-70题
  • WaveletPool:抗混叠在微小目标检测中的重要性