Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Largest Rectangle in a Histogram by hidebehind3
def largest_histogram(histogram):
largest = 0
for i, x in enumerate(histogram):
for j, y in enumerate(histogram[i:], 1):
current_largest = min(histogram[i:i+j]) * j
if largest < current_largest:
largest = current_largest
return largest
if __name__ == "__main__":
assert largest_histogram([5]) == 5, "one is always the biggest"
assert largest_histogram([5, 3]) == 6, "two are smallest X 2"
assert largest_histogram([1, 1, 4, 1]) == 4, "vertical"
assert largest_histogram([1, 1, 3, 1]) == 4, "horizontal"
assert largest_histogram([2, 1, 4, 5, 1, 3, 3]) == 8, "complex"
print("Done! Go check it!")
Oct. 6, 2018