Quick actions

cmd+k|ctrl+k

Navigation

Languages

Container With Most Water (clever)

Snippet info

Language

Python

Visibility

public

Author

arthurpc02

Created

2026-02-22T14:35:06.73924Z

Updated

2026-02-22T15:25:09.566805Z

# You are given an integer array height of length n. There are n vertical lines
# drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]).

# Find two lines that together with the x-axis form a container, such that the
# container contains the most water.

# Return the maximum amount of water a container can store.

# 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 
# water (blue section) the container can contain is 49.

# Example 2:

# Input: height = [1,1] Output: 1

# Constraints:

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

# source: https://thita.ai/problems/container-with-most-water


class Solution:
    def calculateMaxArea(self, height):
        maxArea = 0
        a = 0
        len_array = len(height)
        b = len_array-1
        
        while a != b:
            heig = min(height[a], height[b])
            width = abs(a-b)
            
            area = heig*width
            if area > maxArea:
                maxArea = area
            
            if height[a]<height[b]:
                a+=1
            else:
                b-=1

        
        return maxArea


def main():
    print("Hello world!")
    solution = Solution()
    
    test1 = [1,8,6,2,5,4,8,3,7]
    val = solution.calculateMaxArea(test1)
    print(f"val={val}")
    assert(val==49)
    
    test2 = [1,1]
    val = solution.calculateMaxArea(test2)
    print(f"val={val}")
    assert(val==1)
    
    test3 = [1,2,8,7,33,2,64,1,8,4]
    val = solution.calculateMaxArea(test3)
    print(f"val={val}")
    assert(val==66)
    
    print("Goob-bye cruel world!")


if __name__ == "__main__":
    main()
INFO