LeetCode--Container With Most Water
2015-01-08 21:14
239 查看
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.
解题思路:影响蓄水量的因素包括容器的宽度以及容器的最短的挡板的高度,因此我们可以先将容器的宽度设为最大宽度,如此即可得到此时的最大值,为了让容器的体积增大,只有将最短的边变高才可能在容器宽度减小的情况下增大容器的容量。因此即可得到如下的代码
..., 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 n = height.size(); if(n<=1) return 0; vector<int> h = height; int start=0; int end = n-1; int res = 0; while(start<end) { int temp = end - start; if(h[start] > h[end]) { temp = temp*h[end]; end--; } else { temp = temp*h[start]; start++; } if(temp > res) res = temp; } return res; } };
相关文章推荐
- LeetCode Container With Most Water 查找容水量最大的容器 动态规划法思想分析
- LeetCode-Container With Most Water
- leetcode -eleven:Container With Most Water
- LeetCode(11) ContainerWithMostWater
- LeetCode解题报告--Container With Most Water
- [LeetCode]--Container With Most Water
- leetcode解题方案--011--Container With Most Water
- LeetCode 11 - Container With Most Water
- leetcode Container With Most Water
- leetcode-011:Container With Most Water
- Leetcode c语言-Container With Most Water
- LeetCode题解——Container With Most Water
- <leetcode>Container With Most Water
- LeetCode_11---Container With Most Water
- Leetcode 11 Container With Most Water
- LeetCode 011 Container With Most Water *
- Leetcode/array/Container With Most Water
- LeetCode: Container With Most Water
- LeetCode11: Container With Most Water
- LeetCode 11 Container With Most Water