LeetCode_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.

  

class Solution {
public:
    int maxArea(vector<int> &height) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        int size = height.size();
        if(size < 2) return 0;
        int maxA = 0,temp;
        int left = 0, right = size -1;
        
        while(left < right)
        { 
            if( height[left] <height[right] )
            {
             temp = height[left] * (right - left);
             left ++;
            }else{
            
                temp = height[right] * (right - left ) ;
                right--;
            }
            
            maxA = maxA > temp ? maxA : temp ;
            
        }
        
        return maxA ;
    }
};

 贪心的思想。

最近发现自己越来越搓了,要努力了!

原文地址:https://www.cnblogs.com/graph/p/3192004.html