[leetcode] 11. Container With Most Water

    xiaoxiao2025-08-08  4

    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.

    解法一:

    定义left,right分别指向两边。在当前面积和历史最大面积选最大值。并且让指针移动,寻找更高的边。

    class Solution { public: int maxArea(vector<int>& height) { int left = 0, right = height.size()-1; int res = 0; while(left<right){ res = max(res, (right-left)*min(height[left],height[right])); if(height[left]<height[right]) left++; else right--; } return res; } };

    转载请注明原文地址: https://ju.6miu.com/read-1301527.html
    最新回复(0)