盛水最多的容器

news2024/11/15 13:28:51

题目:
 

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

思路:
一开始我看到这个题,联想到了有一个很像的题目,接雨水,单调栈在此题肯定是不需要用到的,所以我便想到了使用双指针,通过不断的移动选择,更新maxare来得到最优解,

最初我想到的是双指针同时从头开始,通过一定一动的形式进行遍历,更新,但马上就被打破了,中间会有很多没必要的计算,

所以我又想到双指针头尾向中间靠拢,比如头指针尾指针先计算出一个值,这里我们是选择移动头指针还是尾指针呢,很好选择,当然是移动相对高度矮的那一方,所以基本思路便形成了。

代码实现:
 

int maxArea(int* height, int heightSize){
    int left=0, right=heightSize-1;
    int maxare=0;
    while(left<right){
        maxare=fmax(maxare,fmin(height[left],height[right])*(right-left));
        if(height[left]<height[right]){
            left++;
        }else{
            right--;
        }
    }
    return maxare;
}

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

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

相关文章

uniapp高德地图ios 使用uni.chooseLocation选取位置显示没有搜索到相关数据

uniapp云打包后&#xff0c;高德地图ios选取位置显示“ 对不起&#xff0c;没有搜索到相关数据” 详细问题描述 废话不多说&#xff0c;直接上图 解决方案 1.打开高德地图开发平台 2.重新创建key 3.获取云打包时的ios报名作为安全码 4.使用生成的高德key更改manifest.json里…

vue项目使用highlight.js 代码高亮插件,并给它添加行数

效果图&#xff1a; 1. 首先封装highlight.js&#xff0c;在main中引入即可使用&#xff0c;./utils/highlight.js 是我的目录 改成自己的; // main中引入语法高亮配置 import Highlight from ./utils/highlight Vue.use(Highlight) 封装&#xff1a; import Vue from vue im…

html+css制作简单注册登录页面

目录 展示图&#xff1a; 设计逻辑&#xff1a; moni.html moni.css 注册登录功能&#xff1a; 展示图&#xff1a; 设计逻辑&#xff1a; 注册{ 注册 用户名 方框&#xff08;请输入用户名&#xff09; 密码 方框&#xff08;请输入密码&#xff09; 已注册&…

『ARM』和『x86』处理器架构解析指南

前言 如果问大家是否知道 CPU&#xff0c;我相信不会得到否定的答案&#xff0c;但是如果继续问大家是否了解 ARM 和 X86 架构&#xff0c;他们的区别又是什么&#xff0c;相信可能部分人就会哑口无言了 目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代&#…

代码随想录算法训练营第二十七天 | LeetCode 93. 复原 IP 地址、78. 子集、90. 子集 II

代码随想录算法训练营第二十七天 | LeetCode 93. 复原 IP 地址、78. 子集、90. 子集 II 文章链接&#xff1a;复原IP地址 子集 子集II 视频链接&#xff1a;复原IP地址 子集 子集II 目录 代码随想录算法训练营第二十七天 | LeetCode 93. 复原 IP …

【vue3】传送组件、Teleport

把test里的内容传送到test2 //test1.vue <template><div>test1<Teleport v-if"flag" to".aa">test1的内容</Teleport></div></template><script setup langts>import { ref,reactive,onMounted } from vueconst…

[云原生1] Docker网络模式的详细介绍

1. Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c; Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c; 同时Docker网桥是每个容器的默认…

D-Link确认数据泄露:员工成为钓鱼攻击受害者

最近&#xff0c;台湾网络设备制造商D-Link确认了一起数据泄露事件&#xff0c;该事件导致公司员工成为钓鱼攻击的受害者。虽然公司表示泄露的数据属于“低敏感度和半公开信息”&#xff0c;但仍引发了公众的关注。让我们来看看事件的详细情况。 导语 近期&#xff0c;台湾网络…

博客系统中的加盐算法

目录 一、为什么要对密码进行加盐加密&#xff1f; 1、明文 2、传统的 MD5 二、加盐加密 1、加盐算法实现思路 2、加盐算法解密思路 3、加盐算法代码实现 三、使用 Spring Security 加盐 1、引入 Spring Security 框架 2、排除 Spring Security 的自动加载 3、调用 S…

python学习7

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

【虹科干货】如何构建弹性、高可用的微服务?

基于微服务的应用程序可实现战略性数字转型和云迁移计划&#xff0c;对于开发团队来说&#xff0c;这种架构十分重要。那么&#xff0c;如何来构建弹性、高可用的微服务呢&#xff1f;Redis Enterprise给出了一个完美的方案。 文况速览&#xff1a; - 什么是微服务架构&#…

介绍argparse的使用【Python标准库】

文章目录 简介argparse标准库的核心功能介绍Python代码示例参考 简介 argparse 模块是Python标准库中的一个模块&#xff0c;用于处理命令行参数解析。它的主要作用是帮助开发者创建命令行界面&#xff0c;允许用户指定运行脚本时的参数&#xff0c;从而定制脚本的行为。本篇博…

1019hw

登录窗口头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QToolBar> #include <QMenuBar> #include <QPushButton> #include <QStatusBar> #include <QLabel> #include <QDockWidget>//浮动窗口…

2023年中国城市交通数智化发展趋势分析:城市交通数智化渗透率将达到31.0% [图]

城市交通数智化是指将自动化技术、信息技术、通信技术、数字化和智能化技术综合应用于城市交通管理领域&#xff0c;建立实时、准确、高效的城市交通管理体系&#xff0c;提升城市交通管理能力和通行效率。城市交通数智化主要应用场景包括在城市道路、交叉口、隧道、快速路、交…

React TypeScript安装npm第三方包时,些包并不是 TypeScript 编写的

npm install types/包名称 例如&#xff1a;npm install types/jquery 学习链接

C1N短网址 | 核心专利(2) - 防止程序脚本访问短链接

1. 短链接介绍 短链接是一种缩短了URL长度的链接&#xff0c;通常由网址缩短服务提供商生成。短链接可以将长URL缩短为更短的URL&#xff0c;使其更易于分享和传播。短链接通常由一些字母、数字和特殊字符组成&#xff0c;可以通过点击或复制粘贴来访问原始的长URL。短链接在社…

Spring Security认证流程分析(6)

1、认证流程分析 Spring Security中默认的一套登录流程是非常完善并且严谨的。但是项目需求非常多样化, 很多时候&#xff0c;我们可能还需要对Spring Secinity登录流程进行定制&#xff0c;定制的前提是开发者先深刻理解Spring Security登录流程&#xff0c;然后在此基础之上…

竞赛 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 DeepSORT车辆跟踪3.1 Deep SORT多目标跟踪算法3.2 算法流程 4 YOLOV5算法4.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

Halcon 中查看算子和函数的执行时间

1、在Halcol主窗口的底栏中的第一个图标显示算子或函数的执行时间&#xff0c;如下图&#xff1a; 2、在Halcon的菜单栏中选择【窗口】&#xff0c;在下拉框中选择【打开输出控制台】&#xff0c;进行查看算子或函数的执行时间&#xff0c;如下图&#xff1a;

「神奇的锚点定位:探索UniApp中实现滚动定位效果,与1024程序员节同欢,解析技术之美」

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 ⭐ 文章简介 &#x1f4d8; 文章背景 &#…