给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点?(i,?ai) 。在坐标内画 n 条垂直线,垂直 线 i?的两个端点分别为?(i,?ai) 和 (i, 0) 。找出其中的两条线,使得它们与?x?轴共同构成的容器可以容纳最 多的水。 说明:你不能倾斜容器。
固定起点,遍历每一个可能的终点,计算最大面积。
圈复杂度:n^2
class Solution: def maxArea(self, height: List[int]) -> int: maxArea = 0 for i, x in enumerate(height): k = 0 area = 0 for y in height[i + 1::]: k += 1 area = max(area, k * min(x, y)) maxArea = max(maxArea, area) return maxArea
执行超时,通过用例:49/60
先找到最大宽度,即两个指针分别指向容器的开头和结尾;
然后找指针向中间移动,此时无论移动左边还是右边宽度都会减1,则要保留较高的点才能获得更大的面积(把高度低的点移出去),同时用当前宽度和高度更新最大面积
class Solution: def maxArea(self, height: List[int]) -> int: left = 1 right = len(height) maxArea = 0 while right > left: if height[left - 1] < height[right - 1]: area = (right - left) * height[left - 1] left += 1 else: area = (right - left) * height[right - 1] right -= 1 maxArea = max(maxArea, area) return maxArea
体验简介 开发者体验实验室全新上线,全新全意为开发者服务,点击开始体验,开始...
一、 什么是策略模式 它对一系列的算法加以封装 为所有算法定义一个抽象的算法接...
从技术的发展来说,云是趋势,其在即将来临的5G时代发挥重要的作用。而且大家也...
相对于学习Pandas各种数据筛选操作,SQL语法显得更加简洁清晰,若能够将SQL语法...
9月24日,“2020年中国国际信息通信展览会”新闻发布会在北京召开。工业和信息化...
容器即服务平台,能够让开发人员更轻松地部署Docker容器,并将其引入应用程序当...
TOP云 (west.cn)12月2日消息,2016年可以称为是“中国网络直播元年”,明星加...
标签用于标记云资源,如实例、镜像和磁盘等。如果您的帐户下有多种云资源,并且...
如今,云原生是大趋势毋庸置疑, 但交付环境差异下的云原生应理管理痛点怎么破?...
目前,每个业务都是一个数据业务。无论您是庞大的全球企业集团还是本地经营的家...