博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 11. 盛最多水的容器
阅读量:6801 次
发布时间:2019-06-26

本文共 810 字,大约阅读时间需要 2 分钟。

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (iai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (iai) 和 (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

 

双指针做法

class Solution:    def maxArea(self, height):        """        :type height: List[int]        :rtype: int        """        ans = 0        # for i in range(len(height)):        #     for j in range(i+1, len(height)):        #         ans = max(ans, min(height[i],height[j])*(j-i))        l, r = 0, len(height)-1        while l < r:            ans = max(ans, min(height[l],height[r])*(r-l))            if height[l] < height[r]:                l+=1            else:                r-=1        return ans

 

转载于:https://www.cnblogs.com/TreeDream/p/10385402.html

你可能感兴趣的文章
hadoop hive安装手记(转)
查看>>
kinect新知
查看>>
堆实例
查看>>
ASP.NET中各个后缀名的含义
查看>>
always和always@(*)
查看>>
Android 中压力测试工具Monkey的用法(转)
查看>>
NYOJ-61 传纸条(一)
查看>>
乱码问题总结
查看>>
Raspberry pi raspbain系统下使用vim
查看>>
进程通信之共享内存
查看>>
通用单例模式
查看>>
Sharepoint学习笔记—习题系列--70-576习题解析 -(Q99-Q101)
查看>>
使用js 文件参数 以及IHttpModule实现服务验证asp.net 版的初步实现
查看>>
JavaScript操作Cookie
查看>>
转oracle 学习 - 表空间
查看>>
百度地图显示多个标注点
查看>>
robots.txt的介绍和写作
查看>>
11个实用jQuery日历插件
查看>>
MySQL slave状态之Seconds_Behind_Master
查看>>
JS 怎么刷新当前页面
查看>>