11. Container With Most Water
来源:互联网 发布:淘宝网流量分析 编辑:程序博客网 时间:2024/05/29 09:24
二分搜索。
给定n个非负数整数a1, a2, ..., an, 每个数代表坐标(i, ai)的一个点。以(i, ai) 和 (i, 0)为线段的端点画了n条垂直的线。 找到其中两条, 使他们和x轴形成的一个容器可以装最多的水。
我们需要定义i和j两个指针分别指向数组的左右两端,然后两个指针向中间搜索,每移动一次算一个值和结果比较取较大的,容器装水量的算法是找出左右两个边缘中较小的那个乘以两边缘的距离.
最大盛水量取决于两边中较短的那条边,而且如果将较短的边换为更短边的话,盛水量只会变少。所以我们可以用两个头尾指针,计算出当前最大的盛水量后,将较短的边向中间移,因为我们想看看能不能把较短的边换长一点。这样一直计算到左边大于右边为止就行了。
class Solution {public: int maxArea(vector<int>& height) { int res = 0, i = 0, j = height.size() - 1; while (i < j) { res = max(res, min(height[i], height[j]) * (j - i)); height[i] < height[j] ? ++i : --j; } return res; }};
阅读全文
0 0
- 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
- 通过aws搭建vpn
- 17/10/24题目泛做
- dpkg命令
- 阿里巴巴Druid连接池配置
- 算法设计之补零递归法(统计数字问题)
- 11. Container With Most Water
- 【JZOJ5417】方阵
- ansible 自动编译部署 nginx详解
- 基础练习 回文数
- 第8周项目3(1)对称矩阵压缩存储的实现与应用
- AGC010
- 跨域下使用获取iframe的父页面URL
- Angular-JS 与 Angular4 初接触
- Java-Io之文件File