Container With Most Water (隔板如何蓄水) 【leetcode】

题目: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

题意就是找到两个隔板,使得他们之间蓄水的面积最大。

画了一下图,感觉用贪心能瞎搞一下,就搞过了。。


class Solution {
public:
    int maxArea(vector<int> &height) {
        int maxx=0;
        for(int i=0,j=height.size()-1;i<j;height[i]<height[j]?++i:--j)
        {
            int temp=min(height[j],height[i])*(j-i);
            maxx=max(maxx,temp);            
        }
        return maxx;
    }
};


你可能感兴趣的:(LeetCode,with,container,most)