LeetCode Container With Most Water

来源:互联网 发布:淘宝达人手机端入口 编辑:程序博客网 时间:2024/05/20 17:59

题目:

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 ans = 0;        int left = 0, right = height.size()-1;        //隔板宽度递减        while(left < right) {            int tmp = min(height[left], height[right]) * (right-left);            if(tmp > ans)                ans = tmp;            if(height[left] < height[right])                left++;            else                right--;        }        return ans;    }};


0 0