Container With Most Water


    題意是有個高度數組,就相當於隔板的高度,求數組中任意兩隔板間盛水的最大量。隔板間的距離與較低隔板的高度乘積即為盛水的容量。

int maxArea(vector<int> &height) 
{
    int capability = 0;
    size_t left = 0, right = height.size() - 1;
    
    while (left < right)
    {
        const int water = 
            min(height[left], height[right]) * (right - left);
        
        if (water > capability) capability = water;
        
        if (height[left] < height[right])
        {
            ++left;
        }
        else
        {
            --right;
        }
    }
    
    return capability;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM