Leetcode刷题【hot100】盛最多水的容器

news2024/11/25 16:28:00

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

方法一

最大盛水容器的计算方法是:两条垂线中较短的那条线与两个垂线距离的乘积。使用left与right分别代表数组中的左右两个元素下标。而垂线的距离就是数组中两个元素的间隔数,因此可以采用一次for循环来实现最大容器的计算

class Solution {
    public int maxArea(int[] height) {
        //数组最左边下标
        int left=0;
        //数组最右边下标
        int right=height.length-1;
        //最大值
        int max=0;
        //临时存储值
        int area =0;
        //i表示两个元素之间的距离
        for(int i =height.length-1;i>0;i--){
            //如果两个下标重合说明遍历完所有情况。
            if(left==right){
                return max;
            }
            //如果左边的数组元素大,则使用右边数组元素的值进行计算
            if(height[left]>height[right]){
                area = height[right]*i;
                //同时将右边下标-1,寻找有没有比左侧数组元素更大的数字
                right--;
            }else{
                area = height[left]*i;
                left++;
            }
            if(max<area){
                max =area;
            }
        }
        return max;
    }
}

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

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

相关文章

单例模式 rust和java的实现

文章目录 单例模式介绍应用实例&#xff1a;优点使用场景 架构图JAVA 实现单例模式的几种实现方式 rust实现 rust代码仓库 单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建…

uboot 和 内存地址

前言 在使用 uboot 升级的时候&#xff0c;有个疑问&#xff1a; 通过 tftp 下载的 bin 文件&#xff0c;我该暂存在哪段内存空间&#xff1f;换句话说&#xff0c;哪段内存空间可供我存放临时数据&#xff1f; 带着这个疑问&#xff0c;开启今天的 uboot 和 内存地址 研究之旅…

CSS特效004:hover图片,显示文字或附加层

css实战中&#xff0c;时常会碰见鼠标放在某个区块上&#xff0c;显示出一段文字或者其他附加信息。思路是利用position的层叠关系&#xff0c;将文字层放在图片的上面&#xff0c;display:none; hover的时候层 display&#xff1a;block。 效果图 源代码 /* * Author: 大剑师…

NR UE capability FeatureSetCombination的查看方法

下面是UEcapability中根据协议中的描述总结的NR CA和EN-DC组合的查看方法&#xff0c;主要内容在38.331/36.331中。比较关键的IE就是FeatureSetCombination。 FeatureSetCombination对应的是FeatureSet entries的二维矩阵。 每个FeatureSetsPerBand 包含适用于相关band combin…

伦敦金股票代码是什么?

伦敦金是跟踪实时的现货黄金价格走势的差价合约交易&#xff0c;它的代码一般是LLG、GOLD&#xff0c;但也有一些货币交易平台会显示为XAU。伦敦金不是股票交易&#xff0c;因此没有四位数或六位数的股票代码&#xff0c;但伦敦金交易品种单一&#xff0c;投资者不用在数千支股…

亚马逊云科技海外服务器初体验

目录 前言亚马逊云科技海外服务器概述注册使用流程实例创建性能表现用户体验服务支持初体验总结 前言 随着云原生技术的飞速发展&#xff0c;越来越多的企业和开发者选择云服务器来作为自己的使用工具&#xff0c;云原生技术的发展也促进了云服务厂商的产品发展&#xff0c;所…

CSS3 2D、3D转换

一、CSS3 2D转换&#xff1a; CSS3转换可以对元素进行移动、缩放、转动、拉长或拉伸。 2D变换的方法&#xff1a;translate()、rolate()、scale()、skew()、matrix()。 <style> div { width:200px; height:100px; background-color:red; /* Rotate div */ tran…

创新功能点展望:探索未来一对一交友App开发的趋势和可能性

随着社交媒体和科技不断进步&#xff0c;一对一交友App开发正处于迅猛发展的阶段。未来&#xff0c;这一领域将出现许多激动人心的创新&#xff0c;为用户带来更加个性化、安全、以及富有情感连接的体验。以下将探讨一些可能性和趋势&#xff0c;以及从中受益的用户和开发者。 …

自动计算零售数据分析指标?BI软件表示可行

随着BI技术的飞速发展&#xff0c;借助系统来计算分析指标也不是什么难事&#xff0c;即便是面对组合多变的零售数据分析指标&#xff0c;奥威BI软件也依旧可以又快又精准地完成指标计算。 BI软件可以自动计算零售数据分析指标&#xff0c;如销售额、库存量、订单量等。在计算…

MyBatis中文网

MyBatis中文网https://mybatis.net.cn/ MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Ja…

软件测试|MySQL WHERE条件查询详解:筛选出需要的数据

简介 在数据库中&#xff0c;我们常常需要从表中筛选出符合特定条件的数据&#xff0c;以便满足业务需求或获取有用的信息。MySQL提供了WHERE条件查询&#xff0c;使我们能够轻松地筛选数据。本文将详细介绍MySQL WHERE条件查询的用法和示例&#xff0c;帮助大家更好地理解和应…

[工业自动化-7]:西门子S7-15xxx编程 - PLC主站 - 电源模块

目录 前言&#xff1a; 一、主站电源PM VS PS 1.1 主站PM电源模块(PM) 1.2 主站PS电源模块 1.3 PM/PS电源模块区别 1.4 如何选择PM/PS电源 1.5 什么时候必须使用PM模块 1.6 什么时候必须使用PS模块 二、背板总线 三、电源模块的安装 前言&#xff1a; 一、主站电源PM…

制作一个用户登录界面

Flask-WTF扩展使用Python类来表示web表单。表单类只是将表单的字段定义为类变量。 再次考虑到分离的问题&#xff0c;我将使用一个新的app/forms.py模块来存储我的web表单类。首先&#xff0c;让我们定义一个用户登录表单&#xff0c;它要求用户输入用户名和密码。表单还将包括…

【C++】类和对象的关系,对象的存储方式以及对象内存的计算

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【编程实践】黑框框里的打字小游戏,但是汇编语言

开始&#xff1a; 在学习王爽的《汇编语言》的过程中&#xff0c;我就真切地体会到编程实践对于理解的帮助。起初我没有安装书中的实验环境&#xff0c;看到100页左右就开始感觉无趣、吃力&#xff0c;看了后面忘前面&#xff0c;差点就要放弃这本书的学习。好在我后来还是装好…

苹果Ios系统app应用程序开发者如何获取IPA文件签名证书时需要注意什么?

今天呢想和大家介绍介绍苹果App开发者如何获取IPA文件签名证书的步骤和注意事项。对于苹果应用程序开发者而言&#xff0c;获取IPA文件签名证书是发布应用程序至App Store的重要步骤之一。签名证书能够确保应用程序的安全性和可信度&#xff0c;并使其能够在设备上正确运行。 …

芯驰科技出席2023云栖大会,探讨新汽车舱驾融合

10月31日-11月2日&#xff0c;2023云栖大会在杭州成功举办&#xff0c;全场景智能车芯引领者芯驰科技受邀参加斑马智行专场。 芯驰科技资深产品市场总监金辉在「新汽车舱驾融合趋势」研讨会上发表了主题演讲。在随后举办的圆桌论坛上&#xff0c;他和来自智能汽车域控制器、操…

机器学习 - 决策树:技术全解与案例实战

目录 一、引言二、决策树基础决策树模型概述构建决策树的关键概念特征选择决策树的生成 决策树的剪枝 三、算法研究进阶提升树和随机森林提升树&#xff08;Boosted Trees&#xff09;随机森林&#xff08;Random Forests&#xff09; 进化算法与决策树决策树结构的进化 多目标…

动态规划(3)---Leetcode509.斐波那契数

题目 分析 很明显的动态规划&#xff0c;直接写出。之前都是用递归来写。 题解 class Solution {public int fib(int n) {if (n0) return 0;if (n1) return 1;int q0,p1,r0;for(int i2;i<n;i){rqp;int tmpp;pr;qtmp; }return r;}

static关键字的三种用法

在C语言中&#xff0c;关键字"static"可以用于不同的上下文&#xff0c;具有不同的作用。以下是"static"在C语言中的主要作用&#xff1a; 1. 静态变量&#xff08;Static Variables&#xff09;&#xff1a; 在C语言中&#xff0c;使用static关键字来声明…