ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Leetcode刷题篇】Leetcode221 最大正方形

2020-12-06 12:06:43  阅读:215  来源: 互联网

标签:Leetcode221 int cols maxSide Math matrix Leetcode dp 刷题


在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。

在这里插入图片描述
在这里插入图片描述

解题思路:动态规划

class Solution {
    public int maximalSquare(char[][] matrix) {
        // 找到最大边即可
	    	int maxSide = 0;
	    	// 动态规划
	    	int rows = matrix.length;
	    	int cols = matrix[0].length;
	    	int[][] dp = new int[rows][cols];
	    	for(int i=0;i<rows;i++) {
	    		for(int j=0;j<cols;j++) {
	    			// 判断
	    			if(matrix[i][j]=='1') {
	    				if(i==0||j==0) {
	    					dp[i][j] = 1;
	    				}else {
	    					dp[i][j] = Math.min(Math.min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) + 1;
	    				}
	    				maxSide = Math.max(maxSide, dp[i][j]);
	    			}
	    		}
	    	}
	    	
	    	
	    	return maxSide * maxSide;
    }
}

标签:Leetcode221,int,cols,maxSide,Math,matrix,Leetcode,dp,刷题
来源: https://blog.csdn.net/Mind_programmonkey/article/details/110732856

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有