`
plan454
  • 浏览: 7001 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Container With Most Water

 
阅读更多
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.
双指针往里靠,嗯,第一眼看到表示用的是暴力穷举,然后果然失败。时间太长。
public class Solution {
 public int maxArea(int[] height) {
		 int result = 0;
		 int begin = 0;
		 int end = height.length-1;
		
		 while(begin != end){
			 
			 int temp = (end - begin)*(height[end]>height[begin]?height[begin]:height[end]);
			 result = temp>result?temp:result;
			 if(height[end]>=height[begin]){
				 begin++;
			 }else{
				 end--;
			 }
		 }
	        return result;
	    
	        }
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics