我有一个高度为整数,宽度为1的直方图。我想最大化直方图下的矩形区域。 例如:
_
| |
| |_
| |
| |_
| |
答案是6,3 * 2,使用 col1和 col2。
O (n ^ 2)蛮力对我来说很清楚,我想要一个 O (n log n)算法。我试图按照最大递增子序列 O (n log n)算法来思考动态编程,但我不打算继续下去。我该用分治法吗?
PS: 如果没有这样的解决方案,有足够声誉的人会被要求删除“分而治之”的标签。
在 mho 的评论之后: 我的意思是完全适合的最大矩形的面积。(感谢 j _ Random _ hacker 澄清:))。