LintCode_383 Container With Most Water
2016-08-21 04:50
253 查看
Given n non-negative integers a1, a2,
..., an, where each represents a point at coordinate
forms a container, such that the container contains the most water.
Notice
You may not slant the container.
Have you met this question in a real interview?
Yes
Example
Given
area of the container is
class Solution {
public:
/**
* @param heights: a vector of integers
* @return: an integer
*/
int maxArea(vector<int> &h) {
// write your code here
int res=0;
int n = h.size();
int l=0,r=n-1;
while(l<r)
{
res=max(res,min(h[l],h[r])*(r-l));
if (h[l]<h[r])
{
int k=l;
while(k<r&&h[k]<=h[l])
k++;
l=k;
}
else
{
int k=r;
while(k>l&&h[k]<=h[r])
k--;
r=k;
}
}
return res;
}
};
..., 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.
Notice
You may not slant the container.
Have you met this question in a real interview?
Yes
Example
Given
[1,3,2], the max
area of the container is
2.
class Solution {
public:
/**
* @param heights: a vector of integers
* @return: an integer
*/
int maxArea(vector<int> &h) {
// write your code here
int res=0;
int n = h.size();
int l=0,r=n-1;
while(l<r)
{
res=max(res,min(h[l],h[r])*(r-l));
if (h[l]<h[r])
{
int k=l;
while(k<r&&h[k]<=h[l])
k++;
l=k;
}
else
{
int k=r;
while(k>l&&h[k]<=h[r])
k--;
r=k;
}
}
return res;
}
};
相关文章推荐
- Leet Code 11 Container With Most Water
- [leet code] Container With Most Water
- LeedCode Container With Most Water
- Leet Code 11 Container With Most Water - Java
- CODE 120: Container With Most Water
- LeetCode || Container With Most Water
- 【LeetCode】Container With Most Water 解题报告
- leetcode Container with most Water
- leetcode 11 Container With Most Water
- Container With Most Water
- leetcode005-Container With Most Water
- 算法第五周Container With Most Water[Medium]
- Container With Most Water
- 【LeetCode】Container With Most Water
- Container With Most Water (Java)
- 【Container With Most Water】cpp
- 【数组】Container With Most Water
- [LeetCode]--Container With Most Water
- LeetCode: Container With Most Water 题解
- leetcodec_c++:Container With Most Water(011)