力扣HOT100之双指针:11. 盛最多水的容器

news/2025/3/13 10:59:08/


这道题用双指针法很快就做出来了,但是为什么我的双指针法在时间和空间上都不占优啊?
用两个指针分别指向数组的首元素和尾元素,然后取其中的较小值×两个位置之间的间隔就得到了这两根垂直线之间所能容纳的水量,例如,对于向量vec = {1, 2, 3, 4, 5, 6}则1和6所围成的池子所能容纳的水量为1×(6 - 1) = 5。然后两根指针不断向中间移动,用一个result变量来维护最大水量,问题来了,这两根指针向中间移动应当遵循什么规则呢?我们要知道,两根柱子之间的水量取决于较短的那个柱子,指针向中间移动的时候,水池的底部是不断变窄的,只有将最短的那根柱子拔高,才有可能增加蓄水量,尽管移动指向较短柱子的指针,可能新的柱子会更短,但是没有别的办法,不移动较短柱子一定不可能得到更大的蓄水量,所以我们需要判断左右指针指向的柱子中哪个较短,哪个较短就将哪个柱子向中间移动。

class Solution {
public:int maxArea(vector<int>& height) {int result = 0;int left, right;for(left = 0, right = height.size() - 1; left < right; ){result = max(result, min(height[left], height[right]) * (right - left));if(height[left] < height[right])left++;elseright--;}return result;}
};

但是感觉这个结果不是很满意啊?

看了下灵茶山大佬的题解,思路和我是一样的啊,怎么我的代码这么慢????
下面是灵神的代码

class Solution {
public:int maxArea(vector<int>& height) {int ans = 0, left = 0, right = height.size() - 1;while (left < right) {int area = (right - left) * min(height[left], height[right]);ans = max(ans, area);height[left] < height[right] ? left++ : right--;}return ans;}
};

运行一下,发现和我的代码一样慢,绷不住了

看到灵神的代码和我一样慢我就放心了哈哈哈哈哈哈哈哈哈


http://www.ppmy.cn/news/1578776.html

相关文章

如何检查电脑的硬盘健康状况?

检查硬盘健康状况可以使用多种工具和方法。以下是一些常用的工具和步骤&#xff1a; Windows系统&#xff1a; 使用Windows内置工具&#xff1a; 磁盘检查&#xff1a;可以通过命令提示符&#xff08;cmd&#xff09;使用chkdsk命令来检查硬盘错误。例如&#xff0c;输入chkd…

Windows 上安装配置 Apache Tomcat 及Tomcat 与 JDK 版本对应

Apache Tomcat 是一种广泛使用的 Web 服务器和 Java 容器&#xff0c;对于部署和运行 Java Web 应用程序至关重要。它的可靠性和强大的功能使其成为全球开发人员和组织的首选。 在这篇文章中&#xff0c;我们将介绍在 Windows 机器上安装 Apache Tomcat 的过程&#xff0c;以确…

SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器

项目场景&#xff1a; 今天在服务器配置数据库&#xff0c;如果在外网使用IP登录数据库一直连接不上&#xff0c;然后在服务器上面装的数据库使用IP连接还是连接不上&#xff0c;这让我确认不是防火墙的入站规则原因&#xff0c;然后各种配置也看了&#xff0c;还是不好使&…

Python Cookbook-3.15 检查信用卡校验

任务 检查信用卡校验。 解决方案 Luhn mod 10是信用卡业检验和的标准。它不是 Python 内建的算法&#xff0c;不过我们可以很容易地实现这个算法: def cardluhnChecksumIsValid(card_number): 通过 lunn mod-10 校验和算法检查信用卡号sum 0num_digits len(card_number)o…

初识云计算

1.传统IT的劣势 讯速整升的互联风普及率给企业带来了大最的流量&#xff0c;用户以及数据&#xff0c;为了能够匹配企业高速发展的进度&#xff0c;就需要不断地买购传统IT设备&#xff0c;时间一长&#xff0c;传统IT设备的弊端就逐渐显示出来&#xff1a; ① 采购周期…

openai agents SDK原理详解

文章目录 openai agents开发新套件&#xff1a;Responses API和Agents SDKResponses API⁠ agents SDKGuardrails: 智能体安全护栏输入防护栏输出防护栏 Tracing&#xff1a;智能体行为观测追踪tracespanprocessors 使用示例&#xff1a;创建辅导孩子写作业的多个智能体教师 RE…

MongoDB副本集部署完整教程

一般而言&#xff0c;副本集主要成员有三个&#xff1a;主节点&#xff0c;副本节点&#xff0c;仲裁节点 按照官方推荐方案&#xff0c;我们搭建一个三成员的副本集&#xff0c;这个副本集由一个主结点和两个副本结点组成。 这里采用三台虚拟机进行部署&#xff1a;node1(主节…

ue5 动画重定向匹配动画不合适怎么办?mixamo网站一键绑定

ue导出骨骼网格体 fbx模型导入maya 删除骨骼 选中模型 导出模型 打开米萨摩网站 https://www.mixamo.com/#/?page1&query&typeMotion%2CMotionPackupload模型 next 拖动圆圈 点击next 导出模型 导入ue 导入的时候选择动画 时间为带动画的时间 不创建材质