《leetCode》: Maximal Rectangle
来源:互联网 发布:yum cache clean 编辑:程序博客网 时间:2024/06/09 17:07
题目
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.
思路
这个题目确实比较难,做不出来,在讨论组看到的别人的解法,借助了上一个题的思路。
public int maximalRectangle(char[][] matrix) { if(matrix==null||matrix.length<1||matrix[0].length<1){ return 0; } int height[]=new int[matrix[0].length]; for(int i=0;i<matrix[0].length;i++){ if(matrix[0][i]=='1'){ height[i]=1; } } int res=largestInLine(height); for(int row=1;row<matrix.length;row++){ for(int col=0;col<matrix[0].length;col++){ if(matrix[row][col]=='1'){ height[col]++; } else{ height[col]=0; } } res=Math.max(res,largestInLine(height)); } return res; } public int largestInLine(int[] height) { if(height == null || height.length == 0) return 0; int len = height.length; Stack<Integer> s = new Stack<Integer>(); int maxArea = 0; for(int i = 0; i <= len; i++){ int h = (i == len ? 0 : height[i]); if(s.isEmpty() || h >= height[s.peek()]){ s.push(i); }else{ int tp = s.pop(); maxArea = Math.max(maxArea, height[tp] * (s.isEmpty() ? i : i - 1 - s.peek())); i--; } } return maxArea; }
1 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)
- lesson 4 Building a Dynamic UI with Fragments
- Markdown 语法的简要规则
- python3调用C动态库
- 做程序员的苦与乐,只有你能懂!
- Netty源码阅读笔记2: 线程模型
- 《leetCode》: Maximal Rectangle
- Supervisor Unix系统进程管理工具
- 滑动嵌套
- 2015最流行的Android组件、工具、框架大全
- 关于使用OpenProcess的一个错误
- Deploy Django app on amazon ec2
- Android Small插件化框架源码分析[魅族Degao]
- 浅谈行间样式与非行间样式
- CEGUI0.8.4支持中文