leetcode:11. Container With Most Water
2017-05-08 20:15
393 查看
描述
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 and n is at least 2.
思路
思路一:遍历+减枝思路二:按照x轴距离最大的开始,慢慢往下缩小
代码
public class Solution { public int maxArea(int[] height) { int maxArea = 0; int i = 0, j = height.length - 1; while(i < j){ int bufArea = (height[i] > height[j] ? height[j] : height[i]) * (j - i); maxArea = maxArea>bufArea? maxArea:bufArea; if(height[i] < height[j]) i++; else j--; } return maxArea; } }
结果
他山之玉
C++ solutioinint 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; }
Java solution
public int maxArea(int[] height) { int left = 0, right = height.length - 1; int maxArea = 0; while (left < right) { maxArea = Math.max(maxArea, Math.min(height[left], height[right]) * (right - left)); if (height[left] < height[right]) left++; else right--; } return maxArea; }
相关文章推荐
- leetcode[11]Container With Most Water
- leetcode-11 Container With Most Water
- leetcode_11题——Container With Most Water(两个指针)
- leetcode 11 -- Container With Most Water
- LeetCode 11 Container With Most Water
- [leetcode 11] Container With Most Water
- [Leetcode 11, Medium] Container With Most Water
- Container With Most Water - LeetCode 11
- LeetCode 11 - Container With Most Water
- Leetcode 11 Container With Most Water
- [LeetCode 11] Container With Most Water
- Java [leetcode 11] Container With Most Water
- Container With Most Water-Leetcode OJ Problem 11
- leetcode 11 -- Container With Most Water
- [leetcode 11] Container With Most Water
- LeetCode42/11 Trapping Rain Water/Container With Most Water/Hist area**
- LeetCode-11 Container With Most Water(容器装水最大量)
- LeetCode 11 Container With Most Water (C,C++,Java,Python)
- [Leetcode 43] 11 Container With Most Water
- [leetcode 11]Container With Most Water