备战秋招版 --- 第12题:85.最大矩形

cpp 复制代码
class Solution {
public:
    int maximalRectangle(vector<vector<char>>& matrix) {
        int m=matrix.size(), n=matrix[0].size();
        vector<vector<int>> nums(matrix.size(),vector<int>(matrix[0].size()));
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(i==0){
                    nums[i][j]= matrix[i][j]=='1'?1:0;
                }else{
                    nums[i][j]= matrix[i][j]=='1'?nums[i-1][j]+1:0;
                }
            }
        }
        for(int i=0;i<m;i++){
            nums[i].push_back(-1);
        }
        int res=0;
        for(int i=0;i<m;i++){
            stack<int> stk;
            for(int j=0;j<=n;j++){
                while(!stk.empty()&&nums[i][j]<nums[i][stk.top()]){
                    int mid=stk.top(); stk.pop();
                    int left=stk.empty()?-1:stk.top();
                    int right=j;
                    res = max(res, nums[i][mid]*(right-left-1));
                }
                stk.push(j);
            }
        }
        return res;
    }
};
相关推荐
广州灵眸科技有限公司10 分钟前
瑞芯微(EASY EAI)RV1126B rknn-toolkit-lite2使用方法
linux·网络·人工智能·物联网·算法
旖-旎25 分钟前
深搜(二叉树剪枝)(3)
数据结构·c++·算法·力扣·剪枝·递归
流年如夢26 分钟前
结构体:定义、使用与内存布局
c语言·开发语言·数据结构·c++·算法
『昊纸』℃1 小时前
C语言学习心得集合 篇1
c语言·算法·编程基础·学习心得·实践操作
Chase_______1 小时前
LeetCode 1456:定长子串中元音的最大数目
算法·leetcode
小O的算法实验室1 小时前
2026年IEEE IOTJ,DNA序列启发相似性驱动粒子群算法+无人机与基站部署,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
谭欣辰1 小时前
Floyd算法:动态规划解最短路径
c++·算法·图论
计算机安禾1 小时前
【Linux从入门到精通】第12篇:进程的前后台切换与信号控制
linux·运维·算法
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 84. 柱状图中最大的矩形 | C++ 两次单调栈基础扫法
c++·算法·leetcode
C雨后彩虹1 小时前
文件目录大小
java·数据结构·算法·华为·面试