[leetcode] Maximal Rectangle
来源:互联网 发布:大数据 入门书籍 编辑:程序博客网 时间:2024/06/15 15:20
问题描述:
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.
基本思想:
与Largest Rectangle in Histogram思想类似,只是对每行都执行了一遍。
代码:
int maximalRectangle(vector<vector<char> > &matrix) { //C++ if(matrix.size() == 0|| matrix[0].size()==0) return 0; int rows = matrix.size(); int cols = matrix[0].size(); vector<int> H(cols+1); H[cols] = 0; int max = 0; for(int i = 0; i < rows; i++) { for(int j=0; j<cols; j++) if(matrix[i][j]=='1') H[j]++; else H[j]=0; vector<int> stack; for(int j = 0; j<cols+1; j++) { while(stack.size() >0&&H[stack.back()]>H[j]) { int h = H[stack.back()]; stack.pop_back(); int left = stack.size()>0?stack.back():-1; if(h*(j-1-left)>max) max = h*(j-1-left); } stack.push_back(j); } } return max; }
0 0
- 【LeetCode】Maximal Rectangle && Maximal Square
- Leetcode:Maximal Square & Maximal Rectangle
- LeetCode: Maximal Rectangle
- LeetCode Maximal Rectangle
- LeetCode: Maximal Rectangle
- [LeetCode] Maximal Rectangle
- [leetcode] Maximal Rectangle
- [LeetCode]Maximal Rectangle
- [leetcode]Maximal Rectangle
- LeetCode-Maximal Rectangle
- [leetcode] Maximal Rectangle
- Leetcode Maximal Rectangle
- [LeetCode] Maximal Rectangle
- leetcode Maximal Rectangle
- LeetCode Maximal Rectangle
- LeetCode | Maximal Rectangle
- [LeetCode] Maximal Rectangle
- [Leetcode] Maximal Rectangle (Java)
- jQuery一些细节知识
- owasp dc 2015 facebook大牛的演讲
- IOS学习之——定位服务3 地理信息编码
- [3]WeGroup总结
- android opencv学习第二天
- [leetcode] Maximal Rectangle
- linux驱动之Hello world
- 字符串的排列和组合
- 初探CAS
- Multiply Strings (Java)
- T-SQL查询:CTE - with as 子句的特殊应用
- 启动Storm集群时碰到的Supervisor反复重启问题
- ios图片动画
- HPU1288 矩阵翻硬币 【大数】