Java【手撕双指针】LeetCode 11. “盛水最多的容器“, 图文详解思路分析 + 代码

news2024/10/7 14:22:01

文章目录

  • 前言
  • 一、盛水最多的容器
    • 1, 题目
    • 2, 思路分析
    • 3, 代码展示


前言

各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)

一、盛水最多的容器

1, 题目

OJ链接

在这里插入图片描述


2, 思路分析

最简单的暴力枚举 : 两层 for 循环, 从左往右依次尝试两个数, 最后形成的容积, 时间复杂度为O(N * N), 会超出时间限制

既然暴力枚举不行, 那尝试就使用双指针, 一个 left , 一个 right

根据实际情况分析选择对撞双指针还是快慢双指针, 本题的结果和 “宽度” 有关系, 所以初始时, 尽可能让宽度最大, 这正好是使用 对撞双指针 的机会

而且刚才标注了一句话 : 查找的本质是排除, 查找的本质是排除, 查找的本质是排除 ! ! !

如果每次判断, 都能尽可能多的排除数据, 就能尽可能地提高效率

在这里插入图片描述

如上图所示, 初始时, left 和 right 指针分别定义在数组两端, 进行简单地分析就能判断下一步是 left++ 还是 right–(固定值较大的指针, 让较小的指针向内遍历), 这样就能排除一趟暴力枚举时需要遍历的数据


3, 代码展示

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

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

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

相关文章

冠达管理:大盘金针探底 数据要素板块掀涨停潮

快速回调后&#xff0c;大盘走出金针探底走势。 沪指周二高开震动&#xff0c;午后指数刷新本轮回调新低后抄底资金加快流入&#xff0c;推动指数快速翻红&#xff0c;并重回3100点整数关口上方&#xff0c;但未能进一步向5日均线挨近。深成指同样是高开震动午后探底上升&#…

网约车接单神器:智能化技术与出行服务的完美结合

随着移动互联网的迅猛发展&#xff0c;网约车行业成为现代出行方式的主流之一。为了提高用户体验和服务效率&#xff0c;网约车接单神器应运而生。本文将探讨网约车接单神器的专业性、思考深度和逻辑性&#xff0c;以及其与智能化技术和出行服务的完美结合。 一、引言&…

Jobs Portal求职招聘系统源码v3.5版本

Jobs Portal求职招聘系统 是为求职者和公司发布职位而开发的交互式求职招聘源码。它使求职者能够发布简历、搜索工作、查看个人工作列表。 它将提供各种公司在网站上放置他们的职位空缺资料&#xff0c;并且还可以选择搜索候选人简历。 除此之外&#xff0c;还有一个管理模块供…

成功解决SQL 错误 [22000]: 第3 行附近出现错误: 试图修改自增列[ID](达梦数据库)

当我们使用工具来手动修改自增列的自增ID时&#xff0c;可能会报如下异常 SQL 错误 [22000]: 第3 行附近出现错误:试图修改自增列[ID] 解决办法&#xff1a; 可以使用SQL语句来修改 ALTER TABLE "fdw"."SYSTEM_DICT_TYPE" DROP IDENTITY; UPDATE "f…

问道管理:多少钱可以申购新股?

随着中国股市的不断发展&#xff0c;越来越多的人开端进入投资领域。而申购新股是投资中的一种常见方法。那么&#xff0c;多少钱能够申购新股呢&#xff1f;这个问题并不简略&#xff0c;需求从多个视点来剖析。 首先&#xff0c;需求了解什么是申购新股。申购新股&#xff0c…

IGBT基本工作原理及IGBT的作用是什么?

IGBT 今天我们一起来了解关于IGBT&#xff08;绝缘栅双极性晶体管&#xff09;芯片。在过去的几十年中&#xff0c;我们生活的每个角落都离不开能源的驱动。然而&#xff0c;传统的功率晶体管却受限于一些方面不足。幸运的是&#xff0c;IGBT芯片的出现彻底改变了这一局面。 …

管理系统用户登录功能

一、前言 任何一个管理信息系统都会有登录功能。我们简单可以通过用户名加密码加验证码进行登录。但是就是一个这样的简单功能却涉及的要求很多。 比如对账号的要求&#xff0c;对密码复杂度的要求&#xff0c;对登录时长的要求&#xff0c;对密码有效期的要求&#xff0c;对登…

前端开发中移动端开发需要注意什么? - 易智编译EaseEditing

在前端开发中&#xff0c;移动端开发具有一些独特的挑战和注意事项。以下是移动端开发时需要注意的一些重要点&#xff1a; 响应式设计&#xff1a; 移动设备的屏幕尺寸和分辨率多样&#xff0c;因此要采用响应式设计&#xff0c;确保你的网站或应用在各种设备上都能良好地呈…

Star History 月度开源精选|Llama 2 及周边生态特辑

7 月 18 日&#xff0c;Meta 发布了 Llama&#xff0c;大语言模型 Llama 1 的进阶版&#xff0c;可以自由免费用于研究和商业&#xff0c;支持私有化部署。 所以本期 Star History 的主题是&#xff1a;帮助你快速把 Llama 2 在自己机器上跑起来的开源工具&#xff0c;无论你的…

生信学院|08月25日《SOLIDWORKS PDM帮助企业对设计数据版本的管理应用》

课程主题&#xff1a;SOLIDWORKS PDM帮助企业对设计数据版本的管理应用 课程时间&#xff1a;2023年08月25日 14:00-14:30 主讲人&#xff1a;车立洋 生信科技 PDM专家 1、图纸&文档的版本管理对于企业的重要性 2、SolidWorks PDM对图纸&文档版本的管理 3、SolidW…

浅析阿里云灵积(平台)模型服务

简介&#xff1a; DashScope灵积模型服务以模型为中心&#xff0c;致力于面向AI应用开发者提供品类丰富、数量众多的模型选择&#xff0c;并为其提供开箱即用、能力卓越、成本经济的模型服务API。DashScope灵积模型服务依托达摩院等机构的优质模型&#xff0c;在阿里云基础设施…

Ubuntu22.04利用lightdm替换gdm3出现的问题或Bug

Ubuntu22.04利用lightdm替换gdm3出现的问题或Bug 问题1&#xff1a;快捷键无法使用问题2&#xff1a;qq_music打开失败问题3&#xff1a;微信截图收发文件的解决问题4&#xff1a;Dock以及plank问题的解决随时更新补充中ing... 问题1&#xff1a;快捷键无法使用 修复输入法的问…

【VR】SteamVR2.0的示例场景在哪里

&#x1f4a6;本专栏是我关于VR开发的笔记 &#x1f236;本篇是——在哪里可以找到SteamVR2.0的示例场景 SteamVR2.0的示例场景在哪里 1. 逐步打开方式2. 快速打开方式 1. 逐步打开方式 Assets——SteamVR——InteractionSystem——Samples——>Interactions_Example 2. 快…

17.8k Star!开源且支持私有化部署的碎片化知识卡片管理工具-Memos

应用简览 Memos 是一个开源的轻量级笔记服务应用&#xff0c;它为用户提供了一个随时记录思绪和想法的私密空间&#xff0c;同时它支持私有化部署&#xff0c;这意味你可以完全掌控你的数据和隐私&#xff0c;同时它还提供了直观的分享功能&#xff0c;让你可以轻松地与他人协作…

用 Audacity 比较两段音频差异

工作中遇到相同的处理流程&#xff0c;处理同一段音频&#xff0c;看看处理结果是否一致&#xff0c;可以用audacity来处理。 假设待比较的音频分别为 1.wav 2.wav 1、用Audacity打开1.wav 2、用Audacity打开2.wav&#xff0c;选中音频&#xff0c;然后用 效果 -> 反向&am…

React项目build打包后,页面空白的解决方案

问题描述&#xff1a; React项目执行 build 命令后&#xff0c;在本地服务器打开页面 是空白的&#xff0c;而且控制台报错 如下图所示 解决方法 打开根目录下的 package.json 文件&#xff0c;添加如下代码 {"name": "testproject","version"…

冠达管理:创业板指是什么意思啊?

跟着我国经济的不断开展&#xff0c;越来越多的人开始进入股票商场。作为一个出资新手&#xff0c;你可能会对股票商场上的各种术语感到困惑&#xff0c;比方创业板指。 创业板指是什么&#xff1f; 创业板指是我国证监会于2009年6月1日推出的第二个股票指数&#xff0c;旨在衡…

公司核心文件数据防泄密系统——「天锐绿盾加密软件」

企业内每日的文档传输可能会发生成千上万次以上&#xff0c;已经成为最容易泄密的环节。在日常工作中&#xff0c;我们无法避免通过即时通讯工具、网络、邮件、移动设备等方式传输机密文档&#xff0c;那么我们该如何保障文档传输安全呢&#xff1f;为此天锐绿盾终端管理系统提…

如何优化因为高亮造成的大文本(大字段)检索缓慢问题

首先还是说一下背景&#xff0c;工作中用到了 elasticsearch 的检索以及高亮展示&#xff0c;但是索引中的content字段是读取的大文本内容&#xff0c;所以后果就是索引的单个字段很大&#xff0c;造成单独检索请求的时候速度还可以&#xff0c;但是加入高亮之后检索请求的耗时…

最新议程 | OffiSmart智慧办公及空间管理峰会

【OffiSmart智慧办公及空间管理峰会】是SSOT旗下品牌高峰论坛&#xff0c;自2019年在展会现场同期推出以来&#xff0c;邀请众多专家学者、企业高管、从业人员参与其中&#xff0c;收到行业多方称赞。 今年规模和精彩程度再度升级&#xff0c;覆盖所有人群和细分领域。以用户为…