leetcode - Container With Most Water
2015-06-20 20:37
495 查看
题目:
Container With Most Water
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.
参考这里。
class Solution { public: int maxArea(vector<int>& height) { int size=height.size(); if(size<=1) return -1; if(size==2) return min(height[0],height[1]); int capability = 0; size_t left = 0, right = height.size() - 1; while (left < right) { int water = min(height[left], height[right]) * (right - left); if (water > capability) capability = water; //从小的那一端开始移动 //由于长度缩小,所以高度要增加。故每次移动,都要移动到比原来值大的数,才有意义 if (height[left] < height[right]) { int mark=height[left] ; ++left; while(left < right && height[left]<=mark) ++left; } else { int mark=height[right] ; --right; while(left < right && height[right]<=mark) --right; } } return capability; } };
相关文章推荐
- c++ 返回值为 类的对象 http://blog.csdn.net/zyearn/article/details/9709041
- hdu - 1151 Air Raid(有向无环图的最小路径覆盖)
- http://www.aichengxu.com/view/14872
- assign, retain, copy, weak, strong
- 问题:Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]—— 找不到网卡。
- 10 responsibility chain
- 杭电1302 The Snail
- 杭电 ACM HDU Train Problem I
- LeetCode:Container With Most Water 算法题详解
- 1.MyBaits 3.2 简介
- 十大经典数据挖掘算法(9) 朴素贝叶斯分类器 Naive Bayes
- RAID0 RAID1 RAID3 RAID5 RAID6 RAID10 RAID50概念详解
- Exchange发送邮件后卡在草稿箱
- error: server certificate verification failed 解决方案
- Algorithms—42.Trapping Rain Water
- AlphaMobileControls 控件的使用 AlphaImageButton
- 偶尔转帖:AI会议的总结(by南大周志华)
- MonkyTalk学习-6-Verify-WaitFor & WaitForNot
- pthread_cond_wait
- grails domain里面beforeinsert无效