Container With Most Water

1000·2021년 4월 4일
0

LeetCode

목록 보기
5/6

Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of the line i is at (i, ai) and (i, 0). Find two lines, which, together with the x-axis forms a container, such that the container contains the most water.

Notice that you may not slant the container.

Example 1:

Input: height = [1,8,6,2,5,4,8,3,7]
Output: 49
Explanation: The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49.

Example 2:
Input: height = [1,1]
Output: 1

Example 3:
Input: height = [4,3,2,1,4]
Output: 16

Example 4:
Input: height = [1,2,1]
Output: 2

Constraints:
n == height.length
2 <= n <= 105
0 <= height[i] <= 104

class Solution 
{
public:
    int maxArea(vector<int>& arr_height) 
    {
        
        int result = 0;
        
        int i = 0; 
        int j = arr_height.size() - 1;
        
        while (i < j)
        {
            int width = j - i;
            int height = min(arr_height[i], arr_height[j]);
            
            result = max(result, width * height);
            
            if (arr_height[j] < arr_height[i])
                --j;
            else
                ++i;
                
        }
        
        return result;
    }
};
profile
Game Programming

1개의 댓글

comment-user-thumbnail
2024년 7월 10일

Invest in quality water filters in Malaysia from Xammax.my/best-water-filter-malaysia/. Our best water purifiers are designed to meet diverse home water filtration needs, offering efficiency and reliability in removing contaminants. Enjoy peace of mind with our superior filtration solutions.

답글 달기

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN