枚举扩展朴素解法
这道题的正解是 单调栈 求无交换最大矩形,再用 稀疏表RMQ 处理至多一次交换,但是我们用朴素解法 O(n2) 向左右扩展(并可枚举一次交换)也能在考试时拿到一定的分数。
题意:直方图有 n 根宽为 1 的柱子,高度为 hi。允许至多交换任意两根柱子的高度一次,求能勾勒出的最大矩形面积。
朴素做法:
- 无交换:把每个下标 i 当作矩形高度,向左、向右扩展到高度 <hi 为止,面积为 hi×(R−L+1),对所有 i 取最大。时间 O(n2)。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写