Container With Most Water —— Leetcode
来源:互联网 发布:java期末考试题库 编辑:程序博客网 时间:2024/05/29 07:38
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) { /** container的容量遵循以下事实; 1. 最宽的肯定是第一候选人; 2. 如果不宽,那么我们就需要更高的water level; 3. 低的water level我们可以直接删掉 */ int i = 0, j = height.size()-1; int water = 0; while(i < j) { water = max(water, (j-i)*min(height[i], height[j])); if(height[i] < height[j]) i ++; else j --; } return water; /** * 该代码可以改进的地方是,把小于容器中间的所有lower level全部排除,速度会更快。 * */ }};
0 0
- LeetCode——Container With Most Water
- leetcode——Container With Most Water
- Container With Most Water——LeetCode
- leetcode——Container With Most Water
- LeetCode——Container With Most Water
- Container With Most Water —— Leetcode
- leetcode——Container With Most Water
- LeetCode——Container With Most Water
- LeetCode——Container With Most Water
- leetcode—Container With Most Water
- leetcode——11——Container With Most Water
- leetcode 011 —— Container With Most Water
- LeetCode题解——Container With Most Water
- #11 LeetCode——Container With Most Water
- leetcode第11题——**Container With Most Water
- 【leetcode】Array——Container With Most Water(11)
- LeetCode——11. Container With Most Water
- LeetCode之路——Container With Most Water
- [转]谈谈我对攻读计算机研究生的看法
- android__实践(短信发送器)
- ubuntu apt-get update 更新源失败的解决办法
- HDU-2066 一个人的旅行
- 最长重复子串与最长重复子序列
- Container With Most Water —— Leetcode
- scala实现设计模式之模版方法模式
- SpringMVC简单入门(注解)<学习随笔>
- JS 案例-添加节点
- php-fpm 启动参数及重要配置详解
- android__实践(电话拨号器)
- scala实现设计模式之访问者模式
- Poj3126
- 在MFC单文档程序中,怎样由子窗口控件调用父窗口中的控件