美文网首页
leetcode-岛屿数量

leetcode-岛屿数量

作者: 棉花糖7 | 来源:发表于2020-04-25 11:37 被阅读0次

这道题巧妙用了深度遍历和广度遍历

深度遍历比较好理解,找到一个陆地,数值为“1”,然后深度遍历,将其周围的陆地都包括进去,构成一个岛屿,重点的是遍历过的陆地,要改为“0”,表示已经访问过了。

广度遍历,也是找到一个陆地,然后将其入队列,之后遍历其上下左右的网格,是否是陆地,如果是的话,就进入队列。直到队列为空,才说明以这个陆地为起点的周围的陆地都已经包括进去了,一起形成了一个岛屿。其中重要的一点,除了上面说的,遍历过的陆地要改为“0”,表示已经访问过了,还要巧妙的用pair,记录该网格点的坐标,即queue<pair<int,int>>que,它有两个成员变量,que.first我们用它表示横坐标,que.second用它表示纵坐标,在push的时候使用花括号,即que.push({i,j}).

题目 code

原文题解

相关文章

  • leetcode-岛屿数量

    这道题巧妙用了深度遍历和广度遍历 深度遍历比较好理解,找到一个陆地,数值为“1”,然后深度遍历,将其周围的陆地都包...

  • 岛屿数量

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或...

  • 岛屿数量

    题目描述:给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,...

  • 岛屿数量

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/numb...

  • 岛屿数量

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number...

  • 岛屿数量

    题目描述 https://leetcode-cn.com/problems/number-of-islands/ ...

  • 岛屿数量

    题目 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平...

  • 岛屿数量

    题目: 题目的理解: 1相邻的是一个岛屿,遍历数组,当碰到1则记录一个岛屿A,然后将1相连的1都设置为2,说明已经...

  • leecode岛屿数量

    题目描述可用解法DFS 深度优先遍历BFS 广度优先遍历算法思路:下列代码用BFS,循环遍历输入的二维列表如果遇到...

  • LeetCode:岛屿数量

    200. 岛屿数量 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并...

网友评论

      本文标题:leetcode-岛屿数量

      本文链接:https://www.haomeiwen.com/subject/xelbmhtx.html