力扣:盛最多水的容器
题目
给定一个长度为 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。
思路
最优的做法是使用「双指针」。双指针代表的是 可以作为容器边界的所有位置的范围。在一开始,双指针指向数组的左右边界,表示 数组中所有的位置都可以作为容器的边界,因为我们还没有进行过任何尝试。在这之后,我们每次将 对应的数字较小的那个指针 往 另一个指针 的方向移动一个位置,就表示我们认为 这个指针不可能再作为容器的边界了。
(1)求出当前双指针对应的容器的容量;
(2)对应数字较小的那个指针以后不可能作为容器的边界了,将其丢弃,并移动对应的指针。
代码
package com.it;import java.util.Scanner;public class Test3 {public static void main(String[] args) {// 输入任意一维数组,按照英文逗号分隔Scanner scanner = new Scanner(System.in);String str = scanner.next();String[] array = str.split(",");int[] newArray = new int[array.length];for (int i = 0; i < newArray.length; i++) {newArray[i] = Integer.parseInt(array[i]);}// 输出结果System.out.println(maxArea(newArray));}// 盛最多水的容器public static int maxArea(int[] height) {int left = 0;int right = height.length - 1;int ans = 0;while (left < right) {int area = Math.min(height[left], height[right]) * (right - left);ans = Math.max(ans, area);if (height[left] < height[right]) {++left;} else {--right;}}return ans;}
}
相关文章:
力扣:盛最多水的容器
题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 …...
3D双目跟踪瞳孔识别
人眼数据集通常用于眼部相关的计算机视觉、眼动追踪、瞳孔检测、情感识别以及生物特征识别等领域的研究和开发。以下是一些常见的人眼数据集: BioID Face Database: 这个数据库包含1,521张近距离的人脸图像,其中包括瞳孔位置的标记。它通常用于瞳孔检测和…...
【java】Java项目从开发到部署生产完整流程梳理
文章目录 前言一、开发环境二、项目搭建2.1 Maven创建项目2.1.1 创建maven项目2.1.2 引入依赖2.1.3 maven常用命令 三、SpringBoot基础配置四、项目打包4.1 打包jar4.2 打包war4.2.1 修改项目打包为war包4.2.2 排除内嵌的tomcat,引入外部tomcat4.2.3 添加servlet-ap…...
Casbin实战经验大揭秘:教育培训领域的创新实践和高效优化策略
策略描述语言(论文) 摘要: 为了保护云资源的安全,防止数据泄露和非授权访问,必须对云平台的资源访问实施访问控制。然而,目前主流云平台通常采用自己的安全策略语言和访问控制机制,从而造成两个问题&#x…...
MyBatis篇---第一篇
系列文章目录 文章目录 系列文章目录一、什么是MyBatis二、说说MyBatis的优点和缺点三、#{}和${}的区别是什么?一、什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、…...
三级分类部分三级目录无法加载,后端接口能在前端返回所有数据
目录 项目场景:三类分类部分不显示问题描述:数据库序号128后的目录不显示原因分析: 数据库&JAVA后端代码:后端接口 解决方案:1 数据库序号问题2 JAVA层面1 递归改成非递归写法2重新写接口: 查询cat_id为…...
Leetcode1839. 所有元音按顺序排布的最长子字符串
Every day a Leetcode 题目来源:1839. 所有元音按顺序排布的最长子字符串 解法1:滑动窗口 要找的是最长美丽子字符串的长度,我们可以用滑动窗口解决。 设窗口内的子字符串为 window,每当 word[right] > window.back() 时&…...
C/C++程序设计和预处理
个人主页:仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客 专题分栏:C语言疑难_仍有未知等待探索的博客-CSDN博客 目录 一、引言 二、程序的翻译环境和执行环境 1、什么是程序 2、程序的翻译环境 3、程序的执行环境 三、预处理 1、预定义符…...
openssl生成自签名证书
原网址:https://blog.csdn.net/weixin_41767181/article/details/121531007 windows下安装openssl后,生成自签名证书并打包为P12文件的命令如下: 需要注意的是: 每一级的证书中,证书的公司名称等尽量不要一样根证书…...
JAVA毕业设计100—基于Java+Springboot+Vue的WMS仓库管理系统+移动端微信小程序(源码+数据库+部署视频)
基于JavaSpringbootVue的WMS仓库管理系统移动端(源码数据库部署视频) 一、系统介绍 本系统前后端分离带小程序 本系统分为管理员、用户角色(角色权限可自行分配) 功能列表: 1、 数据管理:物料数据管理、物料Bom管理、物料组管理、物料分类管理、供应…...
深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
文章目录 🌟 技术架构:深度学习推荐系统的经典技术架构长啥样?🍊 一、深度学习推荐系统的技术架构🍊 二、基于用户行为的推荐🍊 三、基于多模态数据的推荐🍊 四、基于知识图谱的推荐 dz…...
ios UI 基础开发二
第一节:UIPickerView、UIPickerViewDataSource、UIPickerViewDelegate 设置约束,如果要设置两个兄弟的约束,可以按住option键,用鼠标右键把a拖到b上面,表示a按照b来对齐 生成随机数 如果后面列的数据,依赖前…...
失配树学习笔记
失配树,是一种奇妙的数据结构,它利用 KMP、LCA 解决求两前缀的最长公共 Border 的问题。 首先介绍一下什么是 Border,我们知道 nxt 数组是前后缀相同的最大长度,Border 相当于是 nxt 数组的弱化版,只是去掉了“最大”…...
【Electron】Not allowed to load local resource
问题描述 使用 audio 标签播放音频文件,控制台报错 Not allowed to load local resource。 Not allowed to load local resource原因分析 通常是安全策略所引起的。Electron 默认情况下禁止加载本地资源,以防止潜在的安全风险。 解决方案 在 main.js…...
Maven 基础教程系列
Maven是一个项目开发管理和理解工具。基于项目对象模型的概念:构建、依赖关系管理、文档创建、站点发布和分发发布都由pom.xml声明性文件控制。Maven可以通过插件进行扩展,以使用许多其他开发工具来报告或构建过程。 一、Maven 使用教程-CSDN博客 二、…...
c++之类和对象
1.auto 可以自动推导结果的类型 typeid()可以打印类型 引用也可以 auto真正的价值可以简化迭代器的写法 并且auto定义的变量必须初始化。 不能做参数 返回值也不可以用auto auto不能用来声明数组 如果想要修改要用引用且指针不好解决。 c11之后的nullptr 以后再用空指针用nul…...
分布式应用开发的核心技术系列之——基于TCP/IP的原始消息设计
本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 本文的内容主要围绕以下几个部分: TCP/IP的简单介绍。消息的介绍。基于消息分类的传输格式&…...
医疗领域的数字化浪潮:互联网医院平台的关键作用
数字化浪潮正在迅速改变医疗领域的方式和效率。互联网医院平台作为数字化医疗的关键元素,正在为医疗行业带来巨大的变革。本文将探讨互联网医院平台的关键作用,并提供一个示例,使用Python编写一个简单的医疗预约系统。 互联网医院平台的关键…...
将本地的项目上传到Gitee
目录 1.先在Gitee新建一个仓库,提交即可 2.进入到要上传的项目里面,右键选择 Git Bash Here 3.右键后就打开了Git命令窗口 4.配置你的用户名和邮箱(已经配置过则可跳过) 5.查看你的用户名和邮箱配置(可不查看) 6.输入git init指令&#…...
概率论_概率公式中的分号(;)、逗号(,)、竖线(|)
1. 概率公式中的分号(;)、逗号(,)、竖线(|) ; 分号代表前后是两类东西,以概率P(x;θ)为例,分号前面是x样本,分号后边是模型参数。 , 逗号代表两者地位平等,代表与的关系 | 竖线代表 if,一上面为例,就是如果…...
5步掌握Camera Shakify:为Blender动画注入真实相机抖动效果
5步掌握Camera Shakify:为Blender动画注入真实相机抖动效果 【免费下载链接】camera_shakify 项目地址: https://gitcode.com/gh_mirrors/ca/camera_shakify 你是否曾经制作过完美的Blender动画,却发现相机运动过于平滑、机械,缺少电…...
MSP432P401R开发第一步:在CCS里正确导入DriverLib库并配置头文件路径(避坑指南)
MSP432P401R开发实战:从DriverLib库配置到工程模板搭建全解析 刚接触MSP432P401R的开发者往往会在第一步——配置CCS工程环境时遇到各种"坑"。这些看似基础的问题如果处理不当,可能导致后续开发效率大幅降低。本文将手把手带你完成从零开始的…...
“方向盘没松开就答错”?Dify注意力掩码机制深度解析:如何用3行配置实现驾驶专注度感知式应答降频(实测降低误唤醒率76%)
第一章:方向盘没松开就答错?Dify注意力掩码机制深度解析:如何用3行配置实现驾驶专注度感知式应答降频(实测降低误唤醒率76%)在车载语音交互场景中,驾驶员短暂分心(如换挡、打方向)常…...
PZEM-004T v3.0 Arduino库终极指南:轻松实现精准电力监控的完整方案
PZEM-004T v3.0 Arduino库终极指南:轻松实现精准电力监控的完整方案 【免费下载链接】PZEM-004T-v30 Arduino library for the Updated PZEM-004T v3.0 Power and Energy meter 项目地址: https://gitcode.com/gh_mirrors/pz/PZEM-004T-v30 你是否曾为家庭电…...
ArcGIS几何校正实战:从Google Earth获取控制点的完整流程
ArcGIS几何校正实战:从Google Earth获取控制点的完整流程 当你手头只有一张没有坐标参考的航拍图或卫星影像,却需要快速完成地理配准时,Google Earth提供的免费高分辨率底图能成为救命稻草。去年参与某次山区灾害评估时,我们团队就…...
Obsidian Weread插件:一键同步微信读书笔记到知识库的高效解决方案
Obsidian Weread插件:一键同步微信读书笔记到知识库的高效解决方案 【免费下载链接】obsidian-weread-plugin Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault. 项目地址: https://gitcode.c…...
终极窗口编辑神器:用SRWE打破Windows程序分辨率限制的完整指南
终极窗口编辑神器:用SRWE打破Windows程序分辨率限制的完整指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾因游戏截图分辨率不够高而失望?或者因应用程序窗口无法调整到理想…...
Video Station for DSM 7.2.2:解决群晖新版系统视频管理兼容性问题的完整方案
Video Station for DSM 7.2.2:解决群晖新版系统视频管理兼容性问题的完整方案 【免费下载链接】Video_Station_for_DSM_722 Script to install Video Station in DSM 7.2.2 and DSM 7.3 项目地址: https://gitcode.com/gh_mirrors/vi/Video_Station_for_DSM_722 …...
深入Canvas渲染管线:从Rebuild、Rebatch到动静分离,一次讲清Unity UI合批原理
深入Canvas渲染管线:从Rebuild、Rebatch到动静分离,一次讲清Unity UI合批原理 在Unity UI开发中,性能优化是一个永恒的话题。当我们面对复杂的UI界面时,经常会遇到卡顿、掉帧等问题,而这些问题往往与Canvas的渲染机制密…...
革命性魔兽争霸III地图编辑器:HiveWE全面使用指南
革命性魔兽争霸III地图编辑器:HiveWE全面使用指南 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为魔兽争霸III原版编辑器加载缓慢、操作卡顿而烦恼吗?HiveWE作为专注于速度和易…...
