【LEETCODE】11-Container With Most Water [Python]
2016-01-07 09:03
495 查看
Given n non-negative integers a1,
a2, ..., an, where each represents a point at coordinate (i,
ai). n vertical lines are drawn such that the two endpoints of line
i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
题意:
给 n 个非负整数 a1, a2, ..., an, 每一个代表相应的坐标的点 (i, ai).
画 n条线, line i 连接 (i, ai) and (i, 0)
找到两条线,与 x 轴组成一个容器,满足 这个容器可以盛最多的水
思路:
要求容器的容量,取决于 min(height[p1],height[p2])*(p2-p1)
关键问题是 短板,当然也有两板之间的距离,不过短板可以作为移动的判断条件,目的是使 短板更高一些
两个指针分别从首尾向中间缩,哪个板更短,就移动一下
但面积只记录更大的面积
参考: http://segmentfault.com/a/1190000003815582
Python
a2, ..., an, where each represents a point at coordinate (i,
ai). n vertical lines are drawn such that the two endpoints of line
i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
题意:
给 n 个非负整数 a1, a2, ..., an, 每一个代表相应的坐标的点 (i, ai).
画 n条线, line i 连接 (i, ai) and (i, 0)
找到两条线,与 x 轴组成一个容器,满足 这个容器可以盛最多的水
思路:
要求容器的容量,取决于 min(height[p1],height[p2])*(p2-p1)
关键问题是 短板,当然也有两板之间的距离,不过短板可以作为移动的判断条件,目的是使 短板更高一些
两个指针分别从首尾向中间缩,哪个板更短,就移动一下
但面积只记录更大的面积
参考: http://segmentfault.com/a/1190000003815582
Python
class Solution(object): def maxArea(self, height): """ :type height: List[int] :rtype: int """ if height==[]: return 0 l=len(height) ans=0 p1=0 p2=l-1 while p1<p2: ans=max(ans,min(height[p1],height[p2])*(p2-p1)) if height[p1]<height[p2]: p1+=1 else: p2-=1 return ans
相关文章推荐
- python之路--线程和进程
- Python的垃圾回收机制
- Python web开源框架整理
- 持续集成学好jenkins之内置命令
- python基础知识——编码
- 持续集成学好jenkins之Git和Maven配置
- python 入门
- Python 学习过程一些小的知识点汇总 备忘
- Python-elementTree方法解析xml文件-01
- Python解析最简单的验证码
- python高手之路python处理excel文件(方法汇总)
- 星球大战与Python之间的那些事
- 黑科技 Python脚本帮你找出微信上删除你好友的人
- 用python抓京东的产品数据
- Python学习第一天
- Python学习第二天
- yield的用法
- Python开发的IDLE调试
- leetcode之Linked List Cycle II
- python报错PyUnicodeUCS2_AsUTF8String或者PyUnicodeUCS4_AsUTF8String的问题