[LeetCode] Largest Rectangle in Histogram
2013-01-25 02:02
531 查看
class Solution { public: int largestRectangleArea(vector<int> &height) { // Start typing your C/C++ solution below // DO NOT write int main() function int n = height.size(); vector<int> left(n); vector<int> right(n); for (int i = 0; i < n; i++) { left[i] = i; right[i] = i; } for (int i = 1; i < n; i++) { int j = i; while (j > 0 && height[i] <= height[j - 1]) j = left[j - 1]; left[i] = j; } for (int i = n - 2; i >= 0; i--) { int j = i; while (j < n - 1 && height[i] <= height[j + 1]) j = right[j + 1]; right[i] = j; } int ret = 0; for (int i = 0; i < n; i++) { ret = max(ret, height[i] * (right[i] - left[i] + 1)); } return ret; } };
Small Case: 12ms
Large Case: 80ms
Time: O(nlgn)
Space: O(n)
复杂度分析很蛋疼...
相关文章推荐
- leetcode hard专杀之84. Largest Rectangle in Histogram
- [Leetcode] Largest Rectangle in Histogram (Java)
- leetcode 84 Largest Rectangle in Histogram
- [Leetcode] Largest Rectangle in Histogram
- 【leetCode】Largest Rectangle in Histogram&Maximal Rectangle
- LeetCode之“动态规划”:Maximal Square && Largest Rectangle in Histogram && Maximal Rectangle
- LeetCode - Largest Rectangle in Histogram
- [LeetCode]Largest Rectangle in Histogram
- LeetCode-84-Largest Rectangle in Histogram 经典题目,单调栈
- [LeetCode40]Largest Rectangle in Histogram
- LeetCode(84) Largest Rectangle in Histogram
- leetcode - Largest Rectangle in Histogram
- [leetcode]Largest Rectangle in Histogram
- [LeetCode]Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram
- [leetcode]Largest Rectangle in Histogram
- [LeetCode] Largest Rectangle in Histogram
- Largest Rectangle in Histogram leetcode java
- [LeetCode]Largest Rectangle in Histogram
- [leetcode]Largest Rectangle in Histogram