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

南充网站建设网站爬知乎文章做网站

南充网站建设网站,爬知乎文章做网站,html in wordpress,漳州网站设计制作参考资料#xff1a; 2132. 用邮票贴满网格图 - 力扣#xff08;LeetCode#xff09; 题目描述 给你一个 m x n 的二进制矩阵 grid #xff0c;每个格子要么为 0 #xff08;空#xff09;要么为 1 #xff08;被占据#xff09;。 给你邮票的尺寸为 stampHeight x…参考资料 2132. 用邮票贴满网格图 - 力扣LeetCode 题目描述 给你一个 m x n 的二进制矩阵 grid 每个格子要么为 0 空要么为 1 被占据。 给你邮票的尺寸为 stampHeight x stampWidth 。我们想将邮票贴进二进制矩阵中且满足以下 限制 和 要求 覆盖所有 空 格子。不覆盖任何 被占据 的格子。我们可以放入任意数目的邮票。邮票可以相互有 重叠 部分。邮票不允许 旋转 。邮票必须完全在矩阵 内 。 如果在满足上述要求的前提下可以放入邮票请返回 true 否则返回 false 。 样例 思路 主要思想二维前缀和 二维差分 由于题目没有限制放入邮票的数量也允许邮票相互重叠所以我们应该尽可能地多贴邮票。 假设我们以邮票的左上角 (i,j)为基准粘贴邮票则该邮票的覆盖范围是 (i.j) ~ (x,y) 其中 x istampHeight-1, y jstampHeight-1。为了铺满整张网格图我们遍历每个格子判断能否以当前格子为左上角粘贴邮票最后我们检查是否每个空格子都被邮票覆盖即可。关键问题在于 如果快速判断一个矩形范围 (i.j) ~ (x,y) 内是否存在被占据的格子。在贴上邮票后如何更新矩阵的状态并在最后快速判断每个空格子是否被覆盖。 对于第一个问题我们可以使用二维前缀和解决。定义 sum[i][j] 表示范围 (0,0) ~ (i,j) 内被占据格子的数量那么对与我们要粘贴邮票的范围 (i.j) ~ (x,y) 只需判断 sum[x][y]-sum[i-1][y]-sum[x][j-1]sum[i-1][j-1] 是否为 0 即可。 对于第二个问题我们可以使用二维差分解决。由于本人之前对于差分的理解不是很到位所以这里展开说一下。差分可以看作前缀和的逆运算我们对差分数组求前缀和即可得到原数组对原数组求前缀和即可得到前缀和数组。假设这里的原数组 arr[i][j] 表示当前格子上的邮票数量那差分数组 diff 就应该按照下图方式修改 代码 不得不承认我求二维前缀和、二维差分的代码极其丑陋。。。 class Solution { public:bool possibleToStamp(vectorvectorint grid, int stampHeight, int stampWidth) {int m grid.size(), n grid[0].size();vectorvectorint sum(grid.begin(), grid.end());vectorvectorint diff(m, vectorint(n, 0));for(int i0;im;i){for(int j1;jn;j){sum[i][j] sum[i][j-1];}}for(int i1;im;i){for(int j0;jn;j){sum[i][j] sum[i-1][j];}}for(int i0;im;i){for(int j0;jn;j){if(grid[i][j]) continue;int x istampHeight-1, y jstampWidth-1;if(xm || yn) continue;int temp sum[x][y];if(i0) temp - sum[i-1][y];if(j0) temp - sum[x][j-1];if(i0 j0) temp sum[i-1][j-1];if(temp 0){diff[i][j];if(x1m) --diff[x1][j];if(y1n) --diff[i][y1];if(x1m y1n) diff[x1][y1];}}}for(int i0;im;i){for(int j1;jn;j){diff[i][j] diff[i][j-1];}}for(int i1;im;i){for(int j0;jn;j){diff[i][j] diff[i-1][j];}}for(int i0;im;i){for(int j0;jn;j){if(!grid[i][j] !diff[i][j]) return false;}}return true;} };
http://www.hkea.cn/news/14500167/

相关文章:

  • 苏州网站建设免费昆明网站设计制造
  • 网站建设的要求有哪些58网站建设的目的
  • seo网站推广杭州wordpress镶入thinkphp
  • 网站开发php jsphp网站模板制作工具
  • 网站管理机制建设情况谷歌关键词排名查询
  • 德芙巧克力网站开发方案电子商务网页设计是什么
  • 沈阳手机端建站模板多少网站域名采用中文
  • 花生壳怎么做网站做ppt兼职的网站有哪些
  • 做招聘的网站百度上做推广怎么收费
  • 东莞定制网站建设多合一建网站
  • 做网投网站移动端手机网站建设
  • 网络设计与管理是干什么的福州百度推广排名优化
  • 台州cms建站系统商业网站网址
  • 重庆专业企业建设网站高端建站属于外包公司么
  • 湟源县wap网站建设公司2345系统导航
  • 东莞免费做网站化工行业网站模板
  • ps企业站网站做多大电商平面设计前景如何
  • php外贸网站制作科技咨询公司
  • 建设部评职称查询网站凡科网首页
  • ps做营销型网站布局wordpress标签tags页
  • 全球建站电子上网站开发
  • 我的世界做披风网站网址大全4399
  • 网站建设与规划实训总结东莞响应式网站实力乐云seo
  • 中山网站建设哪家好网络营销是什么加什么
  • 济南企业建站平台ios开发者选项
  • 新注册公司网站怎么做会员卡管理系统哪里买
  • 丹阳网站建设厦门企业网站建设公司
  • 建一个网站难不难wordpress 当前页码
  • 宜城建设局网站wordpress扁平模板
  • 谷歌seo网站优化网络营销知识点