备战秋招版 --- 第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;
    }
};
相关推荐
eyexin20181 小时前
大模型量化与剪枝
算法·机器学习·剪枝
普通网友1 小时前
C# 中委托和事件的深度剖析与应用场景
java·算法·c#
安全系统学习1 小时前
网络安全之任意文件读取利用
算法·安全·web安全·网络安全·哈希算法
电院工程师1 小时前
2.4 Python基础概念:通过一个文字冒险游戏学习编程
开发语言·python·学习·算法·游戏·游戏程序
没故事的燕同学2 小时前
[GESP202306 三级] 密码合规
算法
钢铁男儿2 小时前
C#数组完全指南:从基础到多维数组解析
数据结构·算法
豆沙沙包?3 小时前
2025年- H82-Lc190--322.零钱兑换(动态规划)--Java版
java·算法·动态规划
Coovally AI模型快速验证3 小时前
数据集分享 | 电力检测数据集,助力AI守护电网安全
人工智能·算法·安全·计算机视觉·目标跟踪
IT古董4 小时前
【第二章:机器学习与神经网络概述】01.聚类算法理论与实践-(1)K-means聚类算法
人工智能·算法·聚类
小wanga4 小时前
leetcode-hot100
算法·leetcode·职场和发展