LeetCode:Container With Most Water

Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) 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.

Solution:

class Solution {
public:
    int maxArea(vector<int> &height) {  
    // Start typing your C/C++ solution below  
      // DO NOT write int main() function  
      int start =0;  
      int end = height.size()-1;  
      int maxV = INT_MIN;  
      while(start<end)  
      {  
        int contain = min(height[end], height[start]) * (end-start);  
        maxV = max(maxV, contain);  
        if(height[start]<= height[end])  
        {  
          start++;  
        }  
        else  
        {  
          end--;  
        }  
      }  
      return maxV;  
    }  
};
原文地址:https://www.cnblogs.com/yeek/p/3802456.html