
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