LeetCode Container With Most Water
2013-11-05 20:40
417 查看
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.
这一题的解题思路在于,其实不需要n^2的复杂度去遍历所有的左右边组合,只需要从两头网中间找,短边移动,碰到比该边大的边就计算容积是否满足大于原来容积的条件在,这样复杂度是n。
..., 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.
这一题的解题思路在于,其实不需要n^2的复杂度去遍历所有的左右边组合,只需要从两头网中间找,短边移动,碰到比该边大的边就计算容积是否满足大于原来容积的条件在,这样复杂度是n。
public class Solution { public int maxArea(int[] height) { int i=0,j=height.length-1; int max=height[i]>height[j]?(height[j]*j):(height[i]*j); while(i<j){ if(height[i]<height[j]){ int l=height[i]; while(height[i]<=l&&i<j) i++; int s=height[i]<height[j]?height[i]*(j-i):height[j]*(j-i); if(s>max) max=s; }else{ int m=height[j]; while(height[j]<=m&&i<j) j--; int s=height[i]<height[j]?height[i]*(j-i):height[j]*(j-i); if(s>max) max=s; } } return max; } }
相关文章推荐
- [LeetCode]Container With Most Water, 解题报告
- Container With Most Water leetcode java
- LeetCode Container With Most Water
- leetcode-011:Container With Most Water
- [Leetcode]Container With Most Water
- 010_leetcode Container With Most Water
- LeetCode-11-Container With Most Water(C语言实现)
- leetcode Container With Most Water
- LeetCode_Container With Most Water
- [Leetcode]Container With Most Water
- Leetcode 11-Container With Most Water
- [LeetCode]Container With Most Water
- [LeetCode] Container With Most Water 简要分析
- [leetcode]Container With Most Water(using Python)
- [LeetCode] Container With Most Water 解题报告
- [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