Container With Most Water问题及解法
来源:互联网 发布:讨鬼传2最美捏脸数据 编辑:程序博客网 时间:2024/04/30 21:16
问题描述:
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.
注意:
You may not slant the container and n is at least 2.
问题分析:
假设从头到尾最大宽度的容器A包含最多的水,若要想找到比它装水还多的容器B,则该容器B的高度肯定要比A的高度要高。
详细过程可见代码:
class Solution {public: int maxArea(vector<int>& height) { int water = 0; int i = 0, j = height.size() - 1; while(i < j) { int h = min(height[i], height[j]); water = max(water, (j - i) * h); while(height[i] <= h && i < j) i++; while(height[j] <= h && i < j) j--;}return water; }};
代码还是比较容易理解的~~
0 0
- Container With Most Water问题及解法
- Leetcode:Container with most water菜鸟解法
- Container With Most Water
- Container with most water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- Container With Most Water
- 趣谈并发1:全面认识 Thread
- nutch 抓取流程解析
- 全面理解Java内存模型
- 怎么解决maven管理jar包冲突问题
- VMware使用nat模式使主机系统和虚拟系统通信
- Container With Most Water问题及解法
- C#oop体检套餐管理系统
- HPUOJ---2017寒假训练--专题3/A-Til the Cows Come Home(最短路-dijkstra)
- Java多线程之Synchronized应用在static和非static方法上的区别
- MUI框架学习之[事件取消][事件触发][手势事件][自定义事件]
- jdbcTemplate的queryForList
- xhprof php7问题
- String(字符串)数目统计
- android广播中实现弹出窗口