Question and Answer from L4-M1
def largestRectangleArea(heights):
stack = []
max_area = 0
for i in range(len(heights)):
while stack and heights[i] < heights[stack[-1]]:
h = heights[stack.pop()]
w = i if not stack else i - stack[-1] - 1
max_area = max(max_area, h * w)
stack.append(i)
while stack:
h = heights[stack.pop()]
w = len(heights) if not stack else len(heights) - stack[-1] - 1
max_area = max(max_area, h * w)
return max_area
input_line = input().strip()
if input_line.startswith('[') and input_line.endswith(']'):
heights_str = input_line[1:-1]
heights = list(map(int, heights_str.split(',')))
else:
heights = list(map(int, input_line.split()))
print(largestRectangleArea(heights))