[leetcode Q9] Container With Most Water
2016-02-23 22:33
357 查看
题意是有个高度数组,就相当于隔板的高度,求数组中任意两隔板间盛水的最大量。隔板间的距离与较低隔板的高度乘积即为盛水的容量。
类似于2Sum的思想,两边设一个指针,然后计算area,如果height[i] <= height[j],那么i++,因为在这里height[i]是瓶颈,j往里移只会减少面积,不会再增加area。
这是一个贪心的策略,每次取两边围栏最矮的一个推进,希望获取更多的水。
类似于2Sum的思想,两边设一个指针,然后计算area,如果height[i] <= height[j],那么i++,因为在这里height[i]是瓶颈,j往里移只会减少面积,不会再增加area。
这是一个贪心的策略,每次取两边围栏最矮的一个推进,希望获取更多的水。
[code]int maxArea(vector<int> &height) { int capability = 0; size_t left = 0, right = height.size() - 1; while (left < right) { const int water = min(height[left], height[right]) * (right - left); if (water > capability) capability = water; if (height[left] < height[right]) { ++left; } else { --right; } } return capability; }
相关文章推荐
- 17996 Daily Cool Run
- linker command failed with exit code 1 (use -v to see invocation)
- hdu 1021 Fibonacci Again
- 【SPOJ-MAIN75】BST again【计数DP】【记忆化搜索】
- studio调用百度MAP的JNI发生的问题: No implementation found for long com.baidu.platform.comjni.map.commonmemcach
- <init>与<clinit>的区别 http://blog.csdn.net/sunmenggmail/article/details/10211395
- mac mail迁移邮件规则
- error-iis-Service Unavailable
- AIM Tech Round (Div. 1) D. Birthday 数学 暴力
- AIDL
- codeforces 616E. Sum of Remainders 数学
- CritterAI与Recast Navigation寻路
- 217. Contains Duplicate
- POJ 3831 & HDU 3264 Open-air shopping malls(几何)
- POJ 1230 Pass-Muraille#贪心+vector迭代器用法
- pair—模板类型 使用方法
- 谷歌人工智能AlphaGo挑战人类围棋冠军
- 谷歌人工智能AlphaGo挑战人类围棋冠军
- position&containing block
- 老款macbookpro升级OSX10.11 Ei Captain那点事