直方图包含的最大面积一直作为一道经典的动态规划题,并且状态转移方程为:dp[i][j] = max(min(histogram[i-1:j])*(j-i+1),dp[i+1][j],dp[i][j-1])
但是本人在思考途中感觉这个状态转移方程有点多余,而且比较难以想到,所以打算直接用暴力方法解答,反而发现暴力解法的解答更加简洁,复杂度也相对较低。
在这里插入代码片
```##直方图包含的最大面积
#无需动态规划,强算且运算复杂度最低,无重复运算,简单粗暴
histogram = [int(i) for i in input().strip('[').strip(']').split(',')]
n = int(input())
dp = []
for i in range(n):
for j in range(i,n):
dp.append(min(histogram[i:j+1])*(j+1-i))
print(max(dp))