码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】Container With Most Water

时间:2015-04-30 19:47:00      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:

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.

 

 1 class Solution {
 2 public:
 3     int maxArea(vector<int>& height) {
 4         if(height.size()==0) return 0;
 5         int n=height.size();
 6         int i=0;
 7         int j=n-1;
 8         int maxCapacity=0;
 9         int tmp=0;
10 
11         while(i!=j)
12         {
13             
14             if(height[i]<=height[j])
15             {
16                 tmp=height[i]*(j-i);
17                 i++;
18             }else if(height[j]<=height[i])
19             {
20                 tmp=height[j]*(j-i);
21                 j--;
22             }
23             
24             if(maxCapacity<tmp)
25             {
26                 maxCapacity=tmp;
27             }
28 
29         }
30 
31         return maxCapacity;
32     }
33 };

 

【leetcode】Container With Most Water

标签:

原文地址:http://www.cnblogs.com/jawiezhu/p/4469639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!