当前位置: 首页 > news >正文

西宁做腋臭哪里北大DE网站安徽网站推广优化

西宁做腋臭哪里北大DE网站,安徽网站推广优化,网站做宣传域名什么好,品牌设计流程221. 最大正方形 看到这个题目真能立马想到dp吗?貌似很难,即使知道是一个dp题也很难想到解法。 直观来看,使用bfs以一个点为中点进行遍历,需要的时间复杂度为 O ( n 2 m 2 ) O(n^2m^2) O(n2m2) 但是可以很容易发现,…

221. 最大正方形
在这里插入图片描述
看到这个题目真能立马想到dp吗?貌似很难,即使知道是一个dp题也很难想到解法。

直观来看,使用bfs以一个点为中点进行遍历,需要的时间复杂度为 O ( n 2 m 2 ) O(n^2m^2) O(n2m2)

但是可以很容易发现,如果求以一个点为角 构成的最大正方形,可以通过其他周围的点作为角来快速找到这个点的最大正方形。

我们用数组存以该点为右下角,左下角,左上角,右上角的最大正方形,可以通过周围的转移,然后求出以它为“中心”构成的最大正方形。于是有如下代码

class Solution {
public:int maximalSquare(vector<vector<char>>& matrix) {int n = matrix.size();int m = matrix[0].size();if(n == 1 && m == 1) return matrix[0][0];vector<vector<vector<int>>> dp(n, vector<int>(m, vector<int>(4, 0)));int ans = 0;for(int j = 0; j < m; ++ j){dp[0][j][0] = dp[0][j][1]= dp[0][j][2] = dp[0][j][3] = matrix[0][j];}for(int i = 1; i < n - 1; ++ i){dp[i][0][0] = dp[i][0][1] = dp[i][0][2] = dp[i][0][3] = matrix[i][0];for(int j = 1; j < m - 1; ++ j){dp[i][j][0] = min(dp[i - 1][j][0], min(dp[i - 1][j - 1][0], dp[i][j - 1][0])) + 1;dp[i][j][1] = min(dp[i - 1][j][1], min(dp[i - 1][j + 1][1], dp[i][j + 1][1])) + 1;····}//最后一列}//最后一行return ans * ans;}
};

但是实际上,以该点为右下角就足以解决这个问题,因为对于任何一个最大正方形而言,它一定有一个右下角,那么找到这个右下角能构成的最大正方形就是这个正方形了

class Solution {
public:int maximalSquare(vector<vector<char>>& matrix) {int n = matrix.size();int m = matrix[0].size();if(n == 1 && m == 1) return matrix[0][0] - '0';vector<vector<int>> dp(n, vector<int>(m, 0));int ans = 0;for(int i = 0; i < m; ++ i){dp[0][i] = matrix[0][i] - '0';ans = max(ans, dp[0][i]);}for(int i = 1; i < n; ++ i){dp[i][0] = matrix[i][0] - '0';ans = max(ans, dp[i][0]);for(int j = 1; j < m; ++ j){if(matrix[i][j] == '0') dp[i][j] = 0;else dp[i][j] = min(dp[i - 1][j], min(dp[i][j - 1], dp[i - 1][j - 1])) + 1;ans = max(ans, dp[i][j]);}}return ans * ans;}
};
http://www.zhongyajixie.com/news/17259.html

相关文章:

  • 网站开发的项目需求深圳做推广哪家比较好
  • 网站公司做网站修改会收费吗头条热点新闻
  • 北京网站制作网络推广公司114啦网址导航官网
  • 城阳网站建设公司怎么做一个公司网站
  • 做黑帽需不需要搭建网站自助建站系统
  • 门户网站开发商业软文代写
  • 网站教程百度知道下载
  • 个人做网站花多少钱现在做网络推广好做吗
  • html5 手机网站模版seo优化排名软件
  • 哪些网站适合花钱做推广互联网推广项目
  • 织梦网站栏目建设关键词优化平台有哪些
  • 门户网站开发公司可以推广的平台
  • 服装设计怎么学 从零开始厦门关键词优化平台
  • 福州注册公司大概费用搜索排名优化
  • 通付盾 网站建设广州网站建设工作室
  • 网站添加背影音乐怎么做做网站建设公司
  • 怎么做网站描述aso优化运营
  • css做的简单网站免费域名怎么注册
  • 深圳宝安医院的网站建设2023年8月疫情恢复
  • 介绍自己的做的网站吗石家庄网络关键词排名
  • 营销网站建设哪个平台好网络营销的主要推广方式
  • 哈尔滨建设厅网站如何开一个自己的网站
  • 密云城乡住宅建设委员会网站国内专业seo公司
  • 看到一个电商网站帮做淘宝跨境电商关键词工具
  • c 做网站如何调用dll网推和地推的区别
  • 第三方专业网站制作公司有哪些app下载
  • 青岛网站设计公司推荐杭州seo网站推广排名
  • b2b网站的一般流程连云港seo优化
  • 二手东西网站怎么做自己代理一款手游需要多少钱
  • 南联企业网站建设武汉网站推广很 棒