博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode – Refresh – Maximal Rectangle
阅读量:6245 次
发布时间:2019-06-22

本文共 1244 字,大约阅读时间需要 4 分钟。

This is the extension of Largest Rectangle in Histogram. We can just project 2D matrix to 1D array and compute it line by line.

1 class Solution { 2 public: 3     int maximalRectangle(vector
> &matrix) { 4 if (matrix.size() == 0) return 0; 5 int n = matrix.size(), m = matrix[0].size(), result = 0; 6 vector
height(m, 0), left(m), right(m); 7 for (int i = 0; i < n; i++) { 8 for (int j = 0; j < m; j++) { 9 if (matrix[i][j] == '1') height[j]++;10 else height[j] = 0;11 }12 for (int j = 0; j < m; j++) {13 left[j] = j;14 while (left[j] > 0 && height[j] <= height[left[j]-1]) left[j] = left[left[j]-1];15 }16 for (int j = m-1; j >= 0; j--) {17 right[j] = j;18 while (right[j] < m-1 && height[j] <= height[right[j]+1]) right[j] = right[right[j]+1];19 }20 for (int j = 0; j < m; j++) {21 result = max(result, height[j]*(right[j] - left[j] + 1));22 }23 }24 return result;25 }26 };

 

转载于:https://www.cnblogs.com/shuashuashua/p/4355073.html

你可能感兴趣的文章
【MySQL (6) | 详细分析MySQL事务日志redo log】
查看>>
Linux远程管理常用命令
查看>>
魅族mx5详细打开usb调试模式的步骤
查看>>
ConstraintLayout的使用教程
查看>>
前后端俱全的 具有聊天功能的 react 项目
查看>>
Redux reselect
查看>>
Spring 通过xml获得容器的三种方法比较
查看>>
MySQL索引面试题
查看>>
Systemd 入门教程:命令篇
查看>>
JS 常用函数垫片
查看>>
快速批量检查所有虚拟机的各项指标
查看>>
【软件开发底层知识修炼】五 gcc-C语言编译器
查看>>
React组件生命周期
查看>>
RxJava2.0的初学者必备教程(三)
查看>>
Git代码托管,SSH不同环境办公
查看>>
老司机 iOS 周报 #58 | 2019-03-11
查看>>
Hystrix问题记录
查看>>
Linux 上ps 命令的使用
查看>>
祛斑用什么产品比较好?简单一步轻松搞定
查看>>
OkHttp发起请求源码阅读(一)
查看>>