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

福田网站建设福田网站设计深圳网站设计公司哪个

福田网站建设福田网站设计,深圳网站设计公司哪个,wordpress分类页seo,教学app制作[算法日志]图论刷题: 沉岛思想的运用 leetcode 695 岛屿最大面积 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一些相邻的 1 (代表土地) 构成的组合, 这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻. 你可以假设 grid 的四个边缘都被 0&#xff08…

[算法日志]图论刷题: 沉岛思想的运用

leetcode 695 岛屿最大面积

给你一个大小为 m x n 的二进制矩阵 grid .

岛屿 是由一些相邻的 1 (代表土地) 构成的组合, 这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻. 你可以假设 grid 的四个边缘都被 0(代表水)包围着.

岛屿的面积是岛上值为 1 的单元格的数目。

计算并返回 grid 中最大的岛屿面积. 如果没有岛屿,则返回面积为 0 .

本题依旧是一道较基础的图论搜索题,采用DFS, BFS 或者后面将要学的并查集都可以解决本题, 但本题的重点在于引入一种算法思想.

沉岛思想

本题我们将DFS作为本题基础. 但不同的是, 我们将不再使用visited数组作为访问过的标记, 转而代之的是我将直接再直接在grid数组上进行修改.

当我们访问过一个岛屿节点"1"时, 将其改为"0". 这种策略实际上与使用visited数组进行标记十分相似, 只不过没有额外分配一个数组, 转而在原本的数组上进行修改. 这其实是另一种算法思想(原地算法)的体现.

原地算法, 指在解决某种问题时,利用原本数据空间, 而不额外分配空间. 采用这种算法策略, 在面对较大数据量时, 可以有效节约内存空间, 降低空间复杂度.

以下是本题的示例代码:

	const int dir[4][2] = { {0, -1}, {1, 0}, {0, 1}, {-1, 0} };int DFS3(vector<vector<int>>& g, int x, int y){if (x < 0 || y < 0 || x >= g[0].size() || y >= g.size() || !g[y][x])return 0;int result = 1; g[y][x] = 0;for (int i = 0; i < 4; ++i)result += DFS3(g, x + dir[i][0], y + dir[i][1]);return result;}int  maxAreaOfIsland(vector<vector<int>>& grid) {if (grid.empty())return 0;int result = 0;for (int i = 0; i < grid.size(); ++i){for (int j = 0; j < grid[0].size(); ++j){if (grid[i][j]){result = max(result,DFS3(grid, j, i));}}}return result;}

当然, 在本题中, 我们写的是函数接口, 所以不推荐对原数据的修改, 但这种算法思想依旧值得我们学习与效仿.

http://www.yayakq.cn/news/233547/

相关文章:

  • 烟台建设科技网站页游传奇
  • 视频购物网站开发方案英文网站怎么设计
  • wordpress内容登陆后可见seo推广的方法
  • 淘宝客没网站怎么做ui设计是什么含义
  • 马鞍山市建设银行网站青岛网站建设哪家
  • 电子商务网站建设与管理的重要性外贸网站制作有哪些
  • 建设网站学什么重庆网站建设 cqhtwl
  • dede静态网站模板下载网站做成小程序
  • 中英文的网站是怎么做的wordpress论坛主题
  • 儿童故事网站建设秦皇岛 网站
  • 网站开发用j学生管理系统网站
  • 十大销售管理软件排行榜网站建设优化培训
  • 网站开发工具与环境网站路径怎么做
  • 二建转注辽宁建设主管部门网站dw中做网站的步骤
  • 云南住建局和城乡建设报考网站哈尔滨网站推广公司哪家好
  • 网站后台管理模块免费主机服务器
  • 网络游戏网站制作云主机 网站 多个二级域名 seo优化
  • 广东省深圳建设信息网官网搜索引擎优化包括哪些
  • 十堰市郧城建设网站《设计》完整版
  • 网站建设目的功能许昌中国建设银行官网站
  • 专业的盐城网站建设手机商城页面设计
  • 深圳市网站建设公司排名react.js做的网站
  • 免费制作网站net域名房地产公司基本介绍
  • 网站做百度推广有没有效果学做网站论坛视频下载
  • 东坡区建设局网站登录信产部网站
  • 软件开发培训机构价格哪种语言的网站 做seo更好
  • 培训行业网站建设是什么总部在北京的互联网企业
  • 网站 简单手机网站建设的规划
  • 网站备案号在哪儿查询律师做哪个网站好
  • 沧州高端网站建设网站设计制作的服务机构