首页 > 代码库 > leetcode-Largest Rectangle in Histogram
leetcode-Largest Rectangle in Histogram
1 #include <iostream> 2 #include <stack> 3 #include <vector> 4 #include <algorithm> 5 using namespace std; 6 7 class Solution { 8 public: 9 int largestRectangleArea(vector<int> &height) {10 stack<int> s;11 height.push_back(0);12 int result = 0;13 for (int i = 0; i < height.size();) {14 if (s.empty() || height[i] > height[s.top()])15 s.push(i++);16 else {17 int tmp = s.top();18 s.pop();19 result = max(result, height[tmp] * (s.empty() ? i : i - s.top() - 1));20 }21 }22 return result;23 }24 };25 int main()26 {27 Solution s;28 int a[] = { 2, 3, 4, 5, 6 };29 vector<int> v(a, a + 5);30 cout << s.largestRectangleArea(v) << endl;31 return 0;32 }
leetcode-Largest Rectangle in Histogram
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。