Largest Rectangle in a Histogram

Largest Rectangle in a Histogram

"Your power to choose can never be taken from you.
It can be neglected and it can be ignored.
But if used, it can make all the difference."
― Steve Goodier

You have a histogram. Try to find the size of the biggest rectangle you can build out of the histogram bars.

Input: An array of all rectangles’ heights on the histogram.

Output: Area of the biggest rectangle.

Example:

largestHistogram([5]) == 5
largestHistogram([5, 3]) == 6
largestHistogram([1, 1, 4, 1]) == 4
largestHistogram([1, 1, 3, 1]) == 4
largestHistogram([2, 1, 4, 5, 1, 3, 3]) == 8

How it is used: There is no way the solution you come up with will be of any use in real life. So, just have fun here!

Precondition:
0 < len(data) < 1000

19