备战秋招版 --- 第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;
    }
};
相关推荐
Wilber的技术分享20 分钟前
【LeetCode高频手撕题 2】面试中常见的手撕算法题(小红书)
笔记·算法·leetcode·面试
邪神与厨二病23 分钟前
Problem L. ZZUPC
c++·数学·算法·前缀和
梯度下降中2 小时前
LoRA原理精讲
人工智能·算法·机器学习
IronMurphy2 小时前
【算法三十一】46. 全排列
算法·leetcode·职场和发展
czlczl200209252 小时前
力扣1911. 最大交替子序列和
算法·leetcode·动态规划
靴子学长2 小时前
Decoder only 架构下 - KV cache 的理解
pytorch·深度学习·算法·大模型·kv
寒秋花开曾相惜3 小时前
(学习笔记)3.8 指针运算(3.8.3 嵌套的数组& 3.8.4 定长数组)
java·开发语言·笔记·学习·算法
Гений.大天才3 小时前
2026年计算机领域的年度主题与范式转移
算法
njidf3 小时前
C++与Qt图形开发
开发语言·c++·算法
ZoeJoy83 小时前
算法筑基(一):排序算法——从冒泡到快排,一文掌握最经典的排序算法
数据结构·算法·排序算法