首页 > 其他 > 详细

11. Container With Most Water

时间:2016-01-28 08:14:41      阅读:292      评论:0      收藏:0      [点我收藏+]

用two pointers夹逼的方法,刚开始把left和right设置在数组的两端,如果left处比right处矮,那么说明left处是瓶颈,否则就是right处是。

同时维护一个全局的maxArea

 1     public int maxArea(int[] height) {
 2         if(height == null || height.length < 2) {
 3             return 0;
 4         }
 5         int maxArea = 0;
 6         int len = height.length;
 7         int right = len - 1;
 8         int left = 0;
 9         while(left < right) {
10             int area = (right - left) * Math.min(height[left], height[right]);
11             maxArea = Math.max(maxArea, area);
12             if(height[left] < height[right]) {
13                 left++;
14             } else {
15                 right--;
16             }
17         }
18         return maxArea;
19     }

 

11. Container With Most Water

原文:http://www.cnblogs.com/warmland/p/5165091.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!