본문 바로가기
알고리즘

[알고리즘] Container With Most Water

by keel_im 2021. 2. 18.
반응형

포인트

1.  물을 얼마나 채울수 있는가를 사용할 수 있는 문제이다. 이 문제는 중간 기둥을 신경쓰지 

🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 

c++/cpp

#include <bits/stdc++.h>
using namespace std;

int maxArea(vector<int> &height)
{
    int left = 0;
    int right = height.size() - 1;
    int max_value = 0;

    while (right != left)
    {
        int value = 0;
        if (height[right] > height[left])
        {
            value = height[left] * (right - left);
            left += 1;
        }
        else
        {
            value = height[right] * (right - left);
            right -= 1;
        }
        max_value = max(max_value, value);
    }

    return max_value;
}

python

class Solution:
    def maxArea(self, height):
        max_value = 0
        left = 0
        right = len(height) - 1
        while right != left:

            if height[right] > height[left]:
                value = height[left] * (right - left)
                left += 1
            else:
                value = height[right] * (right - left)
                right -= 1

            max_value = max(max_value, value)
        return max_value
반응형

댓글