Leetcode -- Python --Container With Most Water
2014-06-08 11:23
411 查看
题目链接:
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.
Analysis:两个pointer,初始分别在首位位置,然后算出两个pointer处的两条线构成的面积,将面积与最大值比较,去最大者。接下来在选取两条边中得小的边的相邻的边作为新的pointer,再次循环之前的步骤,直到所有的边都已经看过,返回maximum值。
Python代码:
class Solution:
# @return an integer
def maxArea(self, height):
l = len(height)
if l == 1:
return 0
max_v = 0
while(height):
if height[0] > height[l-1]:
max_v = max(max_v, height[l-1] * (l-1))
l = l - 1
height.pop()
else:
max_v = max(max_v, height[0] * (l-1))
l = l - 1
height.pop(0)
return max_v
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.
Analysis:两个pointer,初始分别在首位位置,然后算出两个pointer处的两条线构成的面积,将面积与最大值比较,去最大者。接下来在选取两条边中得小的边的相邻的边作为新的pointer,再次循环之前的步骤,直到所有的边都已经看过,返回maximum值。
Python代码:
class Solution:
# @return an integer
def maxArea(self, height):
l = len(height)
if l == 1:
return 0
max_v = 0
while(height):
if height[0] > height[l-1]:
max_v = max(max_v, height[l-1] * (l-1))
l = l - 1
height.pop()
else:
max_v = max(max_v, height[0] * (l-1))
l = l - 1
height.pop(0)
return max_v
相关文章推荐
- [LeetCode]题解(python):011-Container With Most Water
- [leetcode]Container With Most Water(using Python)
- leetcode Container With Most Water python
- 【LeetCode】【Python题解】Container with most water
- 【LeetCode with Python】 Container With Most Water
- 【LeetCode 11】Container With Most Water (Python)
- **Leetcode_container-with-most-water(c++ and python version)
- 【LEETCODE】11-Container With Most Water [Python]
- Container With Most Water Leetcode Python Java
- [leetcode]Container With Most Water @ Python
- 【leetcode】Container with most water--python实现
- 【LeetCode】【Python解读】Container with most water
- LeetCode 11 Container With Most Water (C,C++,Java,Python)
- 【Leetcode】【python】Container With Most Water
- leetcode 【 Container With Most Water 】python 实现
- LeetCode 笔记系列二 Container With Most Water
- [Leetcode] Container With Most Water
- LeetCode 11: Container With Most Water
- LeetCode_Container With Most Water
- functionclass[LeetCode]Container With Most Water