leetcode-盛水最多的容器-109
题目要求

思路
1.正常用双循环外循环i从0开始,内循环从height.size()-1开始去计算每一个值是可以的,但是因为数据量太大,会超时。
2.考虑到超时,需要优化一些,比如第一个选下标1,第二个选下标3和第一个选下标3,第二选择下标1是一样的,所以,内循环遍历到小于
时,数据重复可以跳过,但是优化后还是超时
3.考虑优化高度,如果i一样,height[j] > height[j-1],说明高度要么减小要么不变,但是由于底减少,所以面积肯定降低,所以再拿height[j] > height[j-2]进行比较,只要小于height[j]的都可以跳过。同理如果j一样,height[i] > height[i+1]如果满足这个,也可以跳过。但是优化后还有超时
4.此时说明双循环已经不能满足了,我们采用双指针left和right,此时,底部已经是最大的了,我们可以将两个值较小的那个往中间移动,去寻找更大面积的组合。
代码实现
class Solution {
public:int maxArea(vector<int>& height) {int left = 0;int right = height.size() - 1;int s = 0;int max = 0;while(left < right){int h = min(height[left], height[right]);s = h * (right - left);if(s > max)max = s;//移动指针if(height[left] > height[right])right--;elseleft++;}return max;}
};
相关文章:
leetcode-盛水最多的容器-109
题目要求 思路 1.正常用双循环外循环i从0开始,内循环从height.size()-1开始去计算每一个值是可以的,但是因为数据量太大,会超时。 2.考虑到超时,需要优化一些,比如第一个选下标1,第二个选下标3和第一个选下…...
VMware ESXi中安装Proxmox VE
0、巴拉巴拉 前几天某行业HW,闲暇的时候几个技术人员聊天,臭味相投的聊到自己玩的东西。有个玩家说家里用工作站安装Proxmox VE,然后在上面安装软路由、安装NAS。我以前一直想玩玩,没有付诸行动,所以也想弄个集中的方案…...
Java(其十二)--集合·初级
ArrayList集合 集合有很多种,ArrayList 是最常用的一种,集合的作用相当于C中的STL 最显著的特点就是:自动扩容。 一般定义式 ArrayList list new ArrayList(); //该 list 是可以储存各种类型的数据的,要想约束储存的数据&#x…...
疯狂“造人”!美国两党共推新法案,5年培养100万AI及量子人才
当前,全球量子计算人才的短缺已成为制约该领域快速发展的关键瓶颈。 为了解决量子计算人才短缺的问题,各国政府和企业采取了积极措施,加大了对量子教育和培训的投入。根据美国参议院官网消息,2024年5月23日,美国两党议…...
Python 文件操作指南:使用 open 和 with open 实现高效读写
🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 本系列文章主要分享文件操作,了解如何使用 Python 进行文件的读写操作,介绍常见文件格式的读取和写入方法,包括TXT、 CS…...
FasterNet代码阅读
FasterNet 类参数初始化 将图像切分为非重叠的图像块 PatchEmbed 类 将图像分解为非重叠的图像块有以下几个好处: 1. 缩小计算量:对于大尺寸的图像,直接对整个图像进行处理可能会导致计算和内存消耗过大。将图像切分为小块可以降低计算量…...
Rust开源Web框架Salvo源码编译
1.克隆源码: https://github.com/salvo-rs/salvo.git 2.进入salve目录并运行cargo build编译 编译成功 3.编译生成的库 4.安装salve-cli git clone --recursive https://github.com/salvo-rs/salvo-cli.git 编译salve-cli...
基于Java+SpringBoot+Mybaties-plus+Vue+elememt + uniapp 新闻资讯 的设计与实现
一.项目介绍 本系统分为 后端 和 小程序端 后端:点击登录按钮 设置个人中心、 管理员账号数据维护、 基础数据维护、 短视频信息维护(包括查看短视频留言、短视频收藏)、 论坛维护(增删改查帖子信息,包括查…...
TCP—三次握手和四次挥手
目录 一、三次握手和四次挥手的目的 二、TCP可靠的方面 三、什么是三次握手 四、第三次握手的目的 五、什么是四次挥手 六、超时时间的目的 七、SYN包、ACK包、FIN包 八、解决丢包和乱序 九、参考资料 一、三次握手和四次挥手的目的 TCP三次握手的目的主要是为了确保两…...
基于UDP的网络聊天室
一.项目需求: 如果有用户登录,其他用户可以收到这个人的登录信息如果有人发送信息,其他用户可以收到这个人的群聊信息如果有人下线,其他用户可以收到这个人的下线信息服务器可以发送系统信息 二.服务器端 #include <myhead.h&…...
数组-两个升序数组中位数
一、题目描述 二、解题思路 (一).基本思想: 如果列表总长度allsize( arr1.size()arr2.size() ) 为奇数时,中位数位置应该在两个列表排序后的第 allsize/2 位置处,如果allsize为偶数,中位数应该取 (allsize/2)-1 和 allsize/2 的…...
每日一题《leetcode--116.填充每个结点的下一个右侧结点》
https://leetcode.cn/problems/populating-next-right-pointers-in-each-node/ 题目要求给每个结点的next指针进行填充,使每个结点的next指针指向其下一个右侧结点。如果右侧没有结点,则将next指针设置为空。 struct Node* connect(struct Node* root) {…...
【MySQL精通之路】InnoDB(6)-磁盘结构(5)-Redolog
主博客: 【MySQL精通之路】InnoDB(6)-磁盘上的InnoDB结构-CSDN博客 上一篇: 【MySQL精通之路】InnoDB-双写缓冲区-CSDN博客 下一篇: 目录 1.配置Redo Log容量(MySQL 8.0.30或更高版本) 2.配置重做日志容量(MySQL…...
【探索自然语言处理:构建一个简单的文本分类器】
文章目录 前言文本预处理特征提取模型训练文本分类结论 前言 在信息时代,文本数据无处不在,从社交媒体帖子到客户反馈,文本是沟通和信息交流的主要媒介。自然语言处理(NLP)是人工智能的一个分支,它使计算机…...
概率论统计——大数定律
大数定律 弱大数定律(辛钦大数定律) 利用切比雪夫不等式,证明弱大数定律 应用 伯努利大数定理,(辛钦大数定理的推论) 证明伯努利大数定理 注意:这里将二项分布转化成0,1分布来表示,…...
vscode终端命令行前面出现两个conda环境名的问题决解方法
已经安装了conda,打开vscode的terminal时,命令行前面有两个虚拟环境名。 进入vscode的setting 找到Python->Python:Default Interpreter Path,把这个值复位,就可以解决。 如果不想前面带(base),可以运行 conda co…...
“AI黏土人”一夜爆火,图像生成类应用应该如何长期留住用户?
文章目录 最近大火的“AI黏土人”,一股浓浓的《小羊肖恩》风。 凭借这这种搞怪的风格,“AI黏土人”等图像生成类应用凭借其创新技术和市场需求迅速崛起并获得巨大关注。然而,要保持用户黏性并确保长期发展,这些应用需要采取一系列…...
【MySQL精通之路】SQL优化(1)-查询优化(12)-块嵌套循环和批处理Key访问联接
在MySQL中,可以使用批处理Key访问(BKA)联接算法,该算法使用对联接表的索引访问和联接缓冲区。 BKA算法支持内联接、外联接和半联接操作,包括嵌套的外部联接。 BKA的优点包括由于更高效的表扫描而提高了联接性能。 此…...
SQL使用函数给多个分表添加同一字段
数据库中分表时,往往需要向多个分表中添加同一个字段,可以定义一个函数,每次调用这个函数向多个份表中添加同意字段。 1、创建函数示例: 在PostgreSQL中创建一个简单的函数 以下是一个在PostgreSQL中创建函数的简单示例&#x…...
OpenAI 再次刷新认知边界:GPT-4 颠覆语音助手市场,流畅度直逼真人互动?
前言 近日,美国人工智能研究公司 OpenAI 发布了其最新旗舰模型 GPT-4o,这一革命性的进展不仅标志着人工智能领域的新突破,更预示着即将步入一个全新的交互时代?GPT-4o 的发布,对于我们来说,意味着人工智能…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
