# 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
for a in range(len(height)):
for b in range(len(height)):
if a == b:
break
print(f"for a={a} and b={b}")
heig = min(height[a], height[b])
print(f" height={heig}")
width = abs(a-b)
print(f" width={width}")
area = heig*width
if area > maxArea:
maxArea = area
return maxArea
def main():
print("Hello world!")
solution = Solution()
test1 = [1,8,6,2,5,4,8,3,7]
val = solution.calculateMaxArea(test1)
assert(val==49)
test2 = [1,1]
val = solution.calculateMaxArea(test2)
assert(val==1)
print("Goob-bye cruel world!")
if __name__ == "__main__":
main()