DFS不修改原数组

class Solution(object):def numIslands(self, grid):""":type grid: List[List[str]]:rtype: int"""count = 0row,col = len(grid),len(grid[0])vsd = [[0 for i in range(col)] for j in range(row)]def backtrack(vsd,x,y):vsd[x][y] = 1for nx,ny in [(x+1,y),(x-1,y),(x,y+1),(x,y-1)]:if 0<= nx <row and 0<= ny < col and grid[nx][ny] == "1" and vsd[nx][ny] == 0:backtrack(vsd,nx,ny)for a in range(row):for b in range(col):if grid[a][b] == "1" and vsd[a][b] != 1:count +=1backtrack(vsd,a,b)return count

BFS

class Solution(object):def numIslands(self, grid):""":type grid: List[List[str]]:rtype: int"""count = 0row,col = len(grid),len(grid[0])def bfs(x,y):que = [[x,y]]while que:[x,y]= que.pop(0)if 0 <= x <row and 0 <= y < col and grid[x][y] == "1":grid[x][y] = "0"que += [[x + 1, y], [x - 1, y], [x, y - 1], [x, y + 1]]for i in range(row):for j in range(col):if grid[i][j] == "1":count+=1bfs(i,j)return count

LC200. 岛屿数量相关推荐

  1. [JS]题解 | #岛屿数量#

    题解 | #岛屿数量# 题目链接 岛屿数量 题目描述 时间限制:1秒 空间限制:256M 描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右 ...

  2. Leetcode 200. 岛屿数量 解题思路及C++实现

    解题思路: 典型的深度优先搜索问题,跟第130题 被围绕的区域 有点像,只不过这里不仅要找出被水包围的岛屿,还要计算这些岛屿的总数. 使用深度优先搜索的方法,大循环是遍历整个grid数组(两个for循 ...

  3. 岛屿类-网格类问题-DFS | 力扣200. 岛屿数量

    本文讲解200. 岛屿数量问题,属于常见的岛屿类-网格类问题 本题使用DFS的思想 1 题目 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量. 岛屿总是被水包围, ...

  4. 牛客题霸 [ 岛屿数量] C++题解/答案

    牛客题霸 [ 岛屿数量] C++题解/答案 题目描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右为相邻. 岛屿: 相邻陆地可以组成一个岛屿 ...

  5. [Leedcode][JAVA][第200题][岛屿数量][DFS][BFS][并查集]

    [问题描述] 第200题 岛屿数量 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量.岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成 ...

  6. 广度优先搜索——岛屿数量(Leetcode 200)

    题目选自Leetcode 200. 岛屿数量 经典的搜索题,求岛屿数量 这里我用的是广度优先搜索BFS 最朴素的方法, 虽然效率不高,但是简单易懂 主要的问题在于:如何确定有多少个岛屿? 每次对一个& ...

  7. Leetcode 200.岛屿数量

    Time: 20190902 Type: Medium 题目描述 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地 ...

  8. 刷题笔记 | 朋友圈、岛屿的最大面积、岛屿数量

    1. 朋友圈 班上有 N 名学生.其中有些人是朋友,有些则不是.他们的友谊具有是传递性.如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友.所谓的朋友圈,是指所有 ...

  9. 岛屿数量vs最大正方形

    岛屿数量 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量. 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成. 此外,你可以假设该网 ...

最新文章

  1. PHP autoload 函数
  2. 9大项目实战!tensorflow2.0框架实战(免费资料+干货合集)
  3. 大数据中台之Kafka,到底好在哪里?
  4. python做小程序-抖音最火的整蛊表白小程序如何做出来的?教你用python做出
  5. 【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )
  6. 【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
  7. CCAI 2017 中国人工智能大会 6.4 折抢票倒计时!
  8. Data Structure Problem
  9. LeetCode 72. 编辑距离(DP)
  10. 每天进步一点点《SVD学习》
  11. python local global_Python 关键字global全局变量详解
  12. proe虚拟服务器,ProE安装以及虚拟网卡的配置
  13. java websocket 后台服务器_Unity3D与Java后台TomCat服务器传递数据和文件(1)建立Java服务器...
  14. ajax 将输入框内容清空_Robot Framework清空输入框文本内容
  15. Error:java: Compilation failed: internal java compiler error or source 1.5 提升版本
  16. idea配置tomcat热部署
  17. 利用PLC1200和elmo驱动器对maxon RE40电机的两种控制方式(PWM(PTO)或者模拟量控制)
  18. 对比线程,一个VCPU是什么
  19. 计算机替换字体怎么操作,字体管家怎么换字体 电脑更换字体的教程介绍
  20. 14年第五届蓝桥杯C/C++大学B组真题———史丰收算法

热门文章

  1. matlab基础教程第一讲,matlab基础第一讲
  2. 鱼塘经济学理论又有新发展!
  3. 乡村振兴--地理信息--科学理论
  4. 20230303英语学习
  5. 薛之谦成淘宝最红明星店主!不会讲段子的歌手开不好网店
  6. 单反拍摄技巧:常用拍摄技巧汇总
  7. LFU缓存--基于哈希和双链表的实现
  8. 04-编织灵魂旋律:Golang 函数的魔力绽放
  9. 别的职业都是越老越值钱,唯独程序员越老越容易失业?十年后,程序员还会有今天的收入吗?
  10. Springmvc之类型转换器