【力扣 - 盛最多水的容器】

题目描述

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0)(i, height[i])

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

示例1

在这里插入图片描述

示例2

输入:height = [1,1]
输出:1

提示:

n == height.length
2 <= n <= 10^5
0 <= height[i] <= 10^4

题解

双指针

1:使用两个指针,indexLeft和indexRight
2:面积的计算公式Area = high * wide,面积等于高 * 宽
3:计算high = fmin(height[indexRight] , height[indexLeft])
4: 计算wide = indexRight - indexLeft
5:计算出对应的Area与maxArea进行比较并更新maxArea
6: 移动indexRight 与 indexLeft中小的指针
时间复杂度:O(n)
空间复杂度:O(1)

代码

int maxArea(int* height, int heightSize)
{// Initialize two pointers, one at the start and one at the end of the arrayint indexLeft = 0;int indexRight = heightSize - 1;// Initialize the variable to store the maximum areaint maxArea = 0;// Loop until the two pointers meetwhile (indexLeft < indexRight){// Calculate the height of the container at the current positionsint minHeight = fmin(height[indexLeft], height[indexRight]);// Calculate the width of the containerint width = indexRight - indexLeft;// Calculate the area of the containerint area = width * minHeight;// Update the maximum area if the current area is greaterif (maxArea < area){maxArea = area;}// Move the pointer with the smaller height towards the centerif (height[indexLeft] < height[indexRight]){indexLeft++;}else{indexRight--;}}// Return the maximum area foundreturn maxArea;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解MySQL事务:保证数据的一致性和可靠性

摘要&#xff1a;MySQL事务是一种重要的数据库管理技术&#xff0c;能够确保数据的一致性和可靠性。本文将深入探讨MySQL事务的概念、特性、隔离级别以及如何正确使用事务来处理并发访问和保护数据的问题。 一. 什么是MySQL事务&#xff1f; MySQL事务是一系列对数据库进行读写…

AI蠕虫病毒威胁升级,揭示AI安全新危机

一组研究人员成功研发出首个能够通过电子邮件客户端窃取数据、传播恶意软件以及向他人发送垃圾邮件的AI蠕虫&#xff0c;并在使用流行的大规模语言模型&#xff08;LLMs&#xff09;的测试环境中展示了其按设计功能运作的能力。基于他们的研究成果&#xff0c;研究人员向生成式…

Aigtek电压放大器选购注意事项及要求有哪些

电压放大器是电子设备中常用的一种放大器&#xff0c;广泛应用于各种电子设备和通信系统中。选购电压放大器时&#xff0c;需要考虑一些重要的注意事项和要求。下面安泰电子将为大家介绍选购电压放大器时需要注意的一些事项和要求&#xff0c;帮助您在购买过程中作出明智的决策…

Pytorch Geometric 将表格数据集(CSV 文件)转换为图形数据集

导 读 如今图数据集正在以惊人的速度出现&#xff0c;所有化学分子、社交网络和推荐系统主要以图数据结构的形式存储数据 有需要的朋友关注公众号【小Z的科研日常】&#xff0c;获取更多内容。 01、如何转换CSV文件至图形数据结构 确定图形数据所需的基本信息 节点&#xff08;…

LeetCode 刷题 [C++] 第108题.将有序数组转换为二叉搜索树

题目描述 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 题目分析 由于二叉搜索树的中序遍历是升序的&…

性能问题分析排查思路之机器(3)

本文是性能问题分析排查思路的展开内容之一&#xff0c;第2篇&#xff0c;主要分为日志1期&#xff0c;机器4期、环境2期共7篇系列文章&#xff0c;本期是第三篇&#xff0c;讲机器&#xff08;硬件&#xff09;的网络方面的排查方法和最佳实践。 主要内容如图所示&#xff1a…

Python + Selenium —— 多窗口!

首先我们先理解下什么是窗口的概念&#xff1a;浏览器的 window 概念&#xff0c;一个tab就是一个window。 什么时候会产生多窗口&#xff1a; <a target"_blank" class"cate_menu_lk" href"//jiadian.jd.com">家用电器</a>target&…

巧【二叉搜索树的最近公共祖先】【二叉搜索树的性质】Leetcode 235. 二叉搜索树的最近公共祖先

【二叉搜索树的最近公共祖先】【二叉搜索树性质】Leetcode 235. 二叉搜索树的最近公共祖先 【巧】解法1 利用二叉搜索树有序的性质解法2 采用二叉树求最近公共祖先的方法——后序遍历 ---------------&#x1f388;&#x1f388;235. 二叉搜索树的最近公共祖先 题目链接&#x…

深度学习PyTorch 之 RNN-中文多分类【代码解析】

上篇文章给出了RNN-中文多分类的代码实现&#xff0c;本次主要是对RNN的架构进行一个详细的解析 1、主代码 class RNN(nn.Module):def __init__(self, vocab_size, embedding_dim, hidden_dim, output_dim, n_layers, bidirectional, dropout):super().__init__()# 初始化函数…

香杆箐骑行记,春回大地

2024年3月2日春回大地之际我们校长骑行群再次踏上征程前往香杆箐。这次骑行不仅是一次对身体的锻炼更是一次心灵的洗礼。 清晨的阳光洒满大地我们从郊野公园后门出发踏上了前往香杆箐的道路。沿途的风景如画绿树成荫鲜花盛开让人心旷神怡。我们沿着山路蜿蜒前行感受着大自然的韵…

UNIapp实现局域网内在线升级

首先是UNIapp 生成apk 用Hbuilder 进行打包 可以从网站https://www.yunedit.com/reg?gotocert 使用自有证书&#xff0c;目测比直接使用云证书要快一些。 发布apk 网站 用IIS发布即可 注意事项中记录如下内容 第一、需要在 iis 的MiMe 中添加apk 的格式&#xff0c;否则无法…

抖音视频批量采集软件|视频评论数据下载工具

特点一&#xff1a;关键词搜索&#xff0c;批量提取视频 工具不再受限于单个视频链接&#xff0c;支持通过关键词进行视频搜索&#xff0c;实现批量、有选择性的提取。只需简单的操作&#xff0c;输入想要搜索的视频关键词&#xff0c;点击开始抓取即可快速获取与关键词相关的视…