zoukankan      html  css  js  c++  java
  • 最大矩阵

    给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

    示例:

    /**
     * @param {character[][]} matrix
     * @return {number}
     */
    var maximalRectangle = function(matrix) {
            let max_length = 0;
        //横着的连续的1的个数
        for(let i =0;i<matrix.length;i++){
            for(let j=0;j<matrix[0].length;j++){
                 k = 0;
                 right = j;
                 
                 while(matrix[i][right]==="1"&&right<matrix[0].length){
    
                    right ++;
                    k++;
                 }
                 matrix[i][j] = k;
            }
        }
    
        //纵着的连续的个数
        for(let i=0;i<matrix.length;i++){
            for(let j=0;j<matrix[0].length;j++){
                //纵向
               if(matrix[i][j]!=0){
                    let max =matrix[i][j];
                    let right = i;
                    //从当前位置开始找到不是1的位置
                    while(right<matrix.length&&matrix[right][j]>=1) right++;
                    right --;//使得right 执行了最后一个为1的字符
                    while(right>i){
                        let min = Number.MAX_VALUE;
                        for(let k=i;k<=right;k++){
                            if(min>matrix[k][j]){
                                min = matrix[k][j];
                            }
                        }
                        if((right-i+1)*min>max){
                            max = (right-i+1)*min;
                        }   
                        right --;
                    }
                    matrix[i][j] = max;
                    if(max>max_length){
                        max_length = max;
                    }
               }
            }
        }
    
        return max_length;
    };

    实现:1.横向计算每个元素连续的1的个数

        2.纵向计算 每个元素元素最大的连续出现元素的个数

        3.纵向计算之后数组中的最大1的个数就是矩形的面积

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/maximal-rectangle

  • 相关阅读:
    抓老鼠啊~亏了还是赚了?
    币值转换
    打印沙漏
    秋季学习总结
    对我影响最大的三位老师
    自我介绍
    第三周作业
    第二周作业
    求最大值及其下标
    PTA编程总结3
  • 原文地址:https://www.cnblogs.com/panjingshuang/p/11892152.html
Copyright © 2011-2022 走看看