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

移动端网站seo东莞网站优化

移动端网站seo,东莞网站优化,成都旅游的网站建设,网站开发毕业论文题目汇总leetcode:99. 岛屿数量 题目 题目描述: 给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均…

leetcode:99. 岛屿数量

题目

题目描述:

给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。

输入描述:

第一行包含两个整数 N, M,表示矩阵的行数和列数。

后续 N 行,每行包含 M 个数字,数字为 1 或者 0。

输出描述:

输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出 0。

思路

遇到一个没有遍历过的节点陆地,计数器就加一,然后把该节点陆地所能遍历到的陆地都标记上(这一步就是为了防止重复计算!)。

在遇到标记过的陆地节点和海洋节点的时候直接跳过.

计数器就是最终岛屿的数量。

下面代码详细注释:

#include <bits/stdc++.h>
using namespace std;// 定义4个方向
int dir[4][2] = {1, 0, 0, -1, -1, 0, 0, 1};void dfs(vector<vector<int>> &grid, vector<vector<bool>> &visited, int x, int y)
{// 终止条件:如果遇到海水或者已经遍历过的岛屿就停下来if (grid[x][y] == 0 || visited[x][y]){return;}// 处理当前节点:当前到了(x,y)这个点,首先就把它标记上visited[x][y] = true;// 当前节点往下延伸,看它四周的点for (int i = 0; i < 4; i++){int nextx = x + dir[i][0];int nexty = y + dir[i][1];// 基本限制条件:下一个点肯定不能跑到整个大矩阵的外面去if (nextx < 0 || nextx >= grid.size() || nexty < 0 || nexty >= grid[0].size())continue;// 递归:这里递归不需要任何条件,因为一进入dfs就会有终止条件来判断dfs(grid, visited, nextx, nexty);}
}int main()
{int n, m;cin >> n >> m;vector<vector<int>> grid(n, vector<int>(m, 0));vector<vector<bool>> visited(n, vector<bool>(m, false));for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){cin >> grid[i][j];}}// count最终岛屿计数int count = 0;for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){// 一个一个陆地开始找,不要觉得麻烦,因为有的陆地已经被标记了,就会直接跳过if (grid[i][j] == 1 && !visited[i][j]){count++;dfs(grid, visited, i, j);}}}cout << count << endl;return 0;
}

一定要清楚dfs在这里的作用:

对(x,y)周围的岛屿进行标记! 

总结

我这里写的是dfs的第二个模板,第一个模版因为没有终止条件,所以写起来感觉很奇怪,我就没有放,感兴趣去看随想录。

参考资料

代码随想录 

http://www.dtcms.com/wzjs/391398.html

相关文章:

  • 在线做效果图有哪些网站百度文库首页
  • 网站代码502百度云搜索引擎 百度网盘
  • 毕业视频代做网站网站域名查询网
  • 网站如何在360做提交品牌营销策划案例
  • 做淘宝的批发网站有哪些手续做一套二级域名网站怎么做
  • 公司网站建设服务公司如何在百度发广告推广
  • 国家建设部网站官网网站创建免费用户
  • 网站备案主体注销seo视频教程汇总
  • 网站的设计思路网站建设网络公司
  • 网站开发交接协议书广州seo网站优化培训
  • 广州市网站建设科技网店买卖有哪些平台
  • 安徽省交通运输厅金良群排名优化软件
  • 长沙企业网站制作百度小说
  • 独立网站推广公司快速seo软件
  • 旅游网站建设推广网络推广加盟
  • 网站建设案例渠道怎么做电商新手入门
  • 汕头网站建设推广价格识图搜索在线 照片识别
  • 太原有网站工程公司吗无锡百度竞价
  • 洞口做网站如何做免费网站推广
  • 怎么将国内网站接入香港服务器内容营销案例
  • pycharm网站开发广州关键词排名推广
  • 有赞网站开发精准客源推广引流
  • 常州网站建设平台企业邮箱注册申请
  • 株洲网站设计seo从入门到精通
  • 鞋材 东莞网站建设鸣蝉智能建站
  • 舞钢做网站seo的全称是什么
  • 南宁网站建设加q.479185700长沙有实力seo优化公司
  • wordpress占用服务器内存代码优化
  • 电商网站建设方案模板昆明网络推广
  • 平度市城市建设局网站人员优化方案怎么写