zoukankan      html  css  js  c++  java
  • Maximal Rectangle

    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.

    class Solution {    
    public:
        int maximalRectangle(vector<vector<char> > &matrix) 
        {
            int m=matrix.size();
            if(m==0return 0;
            
            int n=matrix[0].size();        
            int ** seq=new int*[m];
            for(int i=0;i<m;i++)
                seq[i]=new int[n];
            for(int i=0;i<m;i++)
            {
                int index=0;
                for(int j=0;j<n;j++)
                {
                    seq[i][j]=matrix[i][j]-'0';
                    if(j>0 && matrix[i][j]=='1' && matrix[i][j-1]=='1')
                        seq[i][j]=seq[i][j-1]+1;
                }
            }
            int max=0;
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                {
                    int min=seq[j][i];
                    for(int k=j;k<m;k++)
                    {
                        if(min>seq[k][i]) min=seq[k][i];
                        if(min*(k-j+1)>max) max=min*(k-j+1);                    
                    }
                }
            }
            return max;
        }
    }; 
  • 相关阅读:
    ios开发-2015-07-19
    ios开发-2015-07-18
    ios开发-2015-07-17
    ios开发-2015-07-16
    ios开发-2015-07-15
    ios开发-2015-07-14
    ios开发-2015-07-13
    Selenium源码分析之WebDriver
    webdriver实现原理 分类: Selenium 2015-07-16 00:16 11人阅读 评论(0) 收藏
    webdriver实现原理
  • 原文地址:https://www.cnblogs.com/erictanghu/p/3759532.html
Copyright © 2011-2022 走看看