盛最多水的容器——双指针

embedded/2024/10/18 23:29:26/

. - 力扣(LeetCode)

双指针理解:

以整体和局部的角度考虑:

如果Left比Right矮,那么Left所有可能能组成的最大值此时就已经确定了,无论中间是否有比Right还要高的数;先记为Lmax

那么最终答案即为max(Lmax, Right与剩余的数的最优解)

继续分析如下图:

再去新的Left,与上一步的Right,以此类推..

即可获取最终答案

为什么没有遗漏?

因为每次移动矮的那个前,矮的那个最大值已经确定,未确定的是高的那个与剩余匹配的最大值。


http://www.ppmy.cn/embedded/28299.html

相关文章

labview强制转换的一个坑

32位整形强制转换成枚举的结果如何? 你以为的结果是 实际上的结果是 仔细看,枚举的数据类型是U16,"1"的数据类型是U32,所以转换产生了不可预期的结果。所以使用强制转换时一定要保证两个数据类型一致,否则…

x86架构下64位的ubuntu环境下汇编(O2优化)及函数调用栈的理解

1.引言 在我的另一篇博客(链接:x86 64位的ubuntu环境下汇编(无优化)及函数调用栈的详解-CSDN博客)中详细分析了没有优化的情况下汇编的详解。在这篇文章中,尝试差分解析使用O2编译优化后生成的汇编代码,看看有啥不同。…

Delta lake with Java--利用spark sql操作数据2

上一篇文章尝试了建库,建表,插入数据,还差删除和更新,所以在这篇文章补充一下,代码很简单,具体如下: import org.apache.spark.sql.SaveMode; import org.apache.spark.sql.SparkSession;publi…

软件定义汽车落地的五大关键要素

1、架构升级 1.1 软件架构:分层解耦、服务化、API 接口标准化 随着企业向软件定义汽车开发方法的转变,软件架构也需要同步进行升级,引入面向服务的架构(Service-Oriented Architecture,简称 SOA)方法论。…

Java项目:基于SSM框架实现的高校专业信息管理系统设计与实现(ssm+B/S架构+源码+数据库+毕业论文+PPT+开题报告)

一、项目简介 本项目是一套基于SSM框架实现的高校专业信息管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

json.loads()与json.dumps()区别

1、json.loads() 序列化,将JSON字符串,转换为Python的数据结构,如字典。 2、json.dumps() 反序列化,将Python的数据结构,转换成JSON字符串。

github托管静态页面

免费在线上空间,不用简直就是浪费,关键还不限流量赶紧去折腾一下 这是搭建的GitHub托管网页,由于是GitHub的服务器,国内访问会非常!慢 下载 Watt Toolkit 这里我建议下载一个软件 Watt Toolkit 它是一个开源跨…

1. 深度学习笔记--神经网络中常见的激活函数

1. 介绍 每个激活函数的输入都是一个数字,然后对其进行某种固定的数学操作。激活函数给神经元引入了非线性因素,如果不用激活函数的话,无论神经网络有多少层,输出都是输入的线性组合。激活函数的意义在于它能够引入非线性特性&am…