news 2026/7/28 17:25:19

leetcode---腾讯 盛最多水的容器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode---腾讯 盛最多水的容器

原题:
给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器,且 n 的值至少为 2。

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例:

输入: [1,8,6,2,5,4,8,3,7]
输出: 49
在真实的面试中遇到过这道题?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/container-with-most-water
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

分析:
逐个比较,计算两两组合形成的容器的容积,记录其中最大的那个并返回
代码:

def maxArea(self, height: list) -> int: i = len(height) s = 0 for j in range(0,i): for h in range(j+1,i): g = (h-j)*min(height[j],height[h]) if g>=s: s=g return s c=[1,8,6,2,5,4,8,3,7] self=[] print(maxArea(self,c))

效果:

上面这种方法比较简单,复杂度为O(n^2),下面对其进行该进

由于容器的短板效应,较短的高度决定了容器的最大容量,因此我们从头、尾开始,逐一遍历,计算Left、right之间容器的容积;之后将高度较小的那个向另一端移动,直至两者重合,记录其中的最大值

代码:

def maxArea(self, height: list) -> int: i = len(height) left = 0 right = i - 1 s = 0 while (left<right): g = (right-left)*min(height[left],height[right]) if s<g: s=g if height[left]<height[right]: left = left+1 else: right = right-1 return s c=[1,8,6,2,5,4,8,3,7] self=[] print(maxArea(self,c))

这个算法的时间复杂度为O(n)
效果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 17:23:47

Unity游戏开发从入门到精通:构建技能金字塔与实战路径

1. 项目概述&#xff1a;为什么Unity值得你投入时间&#xff1f;如果你对游戏开发、交互式内容创作&#xff0c;或者仅仅是“创造一个属于自己的虚拟世界”抱有热情&#xff0c;那么Unity引擎几乎是你绕不开的一个名字。它早已不是那个只被独立开发者用来制作2D小游戏的工具了。…

作者头像 李华
网站建设 2026/7/28 17:22:21

企业AI知识库搭建实战指南:架构设计与核心模块实现

企业AI知识库搭建实战指南&#xff1a;架构设计与核心模块实现 [配图&#xff1a;企业AI知识库系统架构总览图&#xff0c;展示各核心模块及其交互关系] 引言 大模型时代&#xff0c;企业AI知识库成为数字化基础设施的重要一环。但"搭建"二字的分量&#xff0c;远不止…

作者头像 李华
网站建设 2026/7/28 17:21:59

React组件化开发:核心原则与高级实践

1. React组件化开发的核心价值 在当今前端开发领域&#xff0c;React的组件化思想已经彻底改变了我们构建用户界面的方式。作为一名长期使用React的开发者&#xff0c;我深刻体会到组件化开发带来的效率提升和代码可维护性优势。当我们需要创建一个按钮时&#xff0c;不再需要重…

作者头像 李华
网站建设 2026/7/28 17:21:16

半年170起!公安部重拳出击AI造谣-当虚假信息用上AI,真相还有多少时间?

半年170起!公安部重拳出击AI造谣——当虚假信息用上AI,真相还有多少时间? 治理升级国务院新闻发布会190余人被查处 7月28日,公安部在国务院新闻办公室发布会上公布了一组数据:今年上半年,共侦办利用AI工具生成网络谣言案件170余起,依法查处190余人。 同时,开展AI应用…

作者头像 李华
网站建设 2026/7/28 17:20:17

3步搞定碧蓝航线全皮肤解锁:Perseus原生库终极指南

3步搞定碧蓝航线全皮肤解锁&#xff1a;Perseus原生库终极指南 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为碧蓝航线中那些精美的限定皮肤无法体验而烦恼吗&#xff1f;Perseus原生库补丁为您提…

作者头像 李华