11.Container With Most Water
来源:互联网 发布:异星工厂加入物流网络 编辑:程序博客网 时间:2024/06/05 11:06
Container With Most Water
Total Accepted: 33299 Total Submissions: 104359My SubmissionsGiven 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.
思路:用双指针,首尾向中间靠拢即可。
class Solution {
public:
int maxArea(vector<int> &height) {
int num=height.size();
if(num<2) return 0;
int left=0,right=num-1;
int res=min(height[left],height[right])*(right-left);
while(left<right){
//找到下一个位置
if(height[left]<height[right]){
int tem=left+1;
while(tem<right && height[tem]<=height[left]){
++tem;
}
left=tem;
}else{
int tem=right-1;
while(left<tem && height[tem]<=height[right]){
--tem;
}
right=tem;
}
//更新
int tem_res=min(height[left],height[right])*(right-left);
if(tem_res>res) res=tem_res;
}
return res;
}
};
- 11.Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11.Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- 11. Container With Most Water
- GROUP BY分组查询与SQL执行顺序
- 【SICP练习】121 练习3.52
- 类别 的使用实例(NSString的类别增加方法)
- C内存管理
- IOS8新特性
- 11.Container With Most Water
- 什么是以太网
- 开源项目UI控件分类汇总之ProgressBar
- DirectX游戏编程(一):创建一个Direct3D程序
- Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器
- word文档转html利器
- Java中有关Null的9件事
- POJ - 2421 Constructing Roads
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用