zoukankan      html  css  js  c++  java
  • 九度 1497:面积最大的全1子矩阵

    题目描述:

    在一个M * N的矩阵中,所有的元素只有0和1,从这个矩阵中找出一个面积最大的全1子矩阵,所谓最大是指元素1的个数最多

    Leetcode 原题, 没有案例就是跪, WA 到没脾气

    代码 未通过九度测试

    #include <iostream>
    #include <stdio.h>
    #include <vector>
    #include <deque>
    #include <memory.h>
    using namespace std;
    int m, n;
    int matrix[1001][1001];
    int rectangle[1001];
    
    int largestHis() {
        int global = 0;
        deque<int> stack;
        for(int i = 0; i < n; i ++) {
            if(!stack.size()) {
                stack.push_back(i);
            }else if(stack.back() <= rectangle[i]) {
                stack.push_back(i);
            }else {
                int hei = stack.back();
                stack.pop_back();
                int left = (stack.empty())? 0:rectangle[stack.back()];
                global = max(global, (i-left-1)*rectangle[hei]);
                i--;
            }
        }
        return global;
    }
    
    int main() {
        while(scanf("%d%d", &m, &n) != EOF) {
            for(int i = 0; i < m; i ++) {
                for(int j = 0; j < n; j ++) {
                    scanf("%d", &matrix[i][j]);
                } 
            }
            memset(rectangle, 0, sizeof(rectangle));
            int global = 0;
            for(int i = 0; i < m; i ++) {
                for(int j = 0; j < n; j ++) {
                    if(matrix[i][j] == 0) {
                        rectangle[j] = 0;
                    }else{
                        rectangle[j] ++;
                    }
                    //cout << rectangle[j] << " ";
                }
                //cout << endl;
    
                global = max(global, largestHis());
            }
            cout << global << endl;
        }
        return 0;
    }
  • 相关阅读:
    Course Schedule II
    Vim笔记
    python programming
    暴风电视刷机教程
    python asyncio
    sqlalchemy lock and atomic
    rust学习(二)
    rust-vmm 学习(二)
    e3s10 网络管理
    打造VIM成为IDE - nerdtree
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3585387.html
Copyright © 2011-2022 走看看