【发布时间】:2020-08-15 14:57:40
【问题描述】:
我得到了一个整数数组,例如,
a = [1, 2, 3, 5, 4, 8, 4, 5, 6]
a[i] -> Height of each bar in the histogram
0 < len(a) < 100
0 <= a[i] < 100
我的任务是找出在这个直方图中我能找到的最大正方形的边长。
上述输入的输出是,
4
说明
我为解决方案编写了以下代码,但它给了我错误的答案。我找不到任何关于这个问题的相关文章。
def findMaxSquare(arr):
cur = 0
for i in range(n-1):
min_height = arr[i]
length = 1
if min_height > 0:
cur = max(cur, 1)
for j in range(i+1, n):
min_height = min(min_height, arr[j])
length += 1
if min_height < length:
break
cur = max(cur, min(min_height, length))
return cur
【问题讨论】:
标签: arrays python-3.x