力扣hot100 岛屿数量 dfs 图论

Problem: 200. 岛屿数量

文章目录

思路

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( 1 ) O(1) O(1)

Code

Java 复制代码
class Solution {
	int n, m;

	public int numIslands(char[][] grid)
	{
		n = grid.length;
		if (n == 0)
			return 0;
		m = grid[0].length;
		int ans = 0;
		for (int i = 0; i < n; i++)
			for (int j = 0; j < m; j++)
				if (grid[i][j] == '1')
				{
					dfs(grid, i, j);
					ans++;
				}
		return ans;
	}

	private void dfs(char[][] g, int x, int y)
	{
		if (x < 0 || x >= n || y < 0 || y >= m || g[x][y] == '0')
			return;
		g[x][y] = '0';
		int[] dx = { 0, 1, 0, -1 };
		int[] dy = { 1, 0, -1, 0 };
		for (int i = 0; i < 4; i++)
			dfs(g, x + dx[i], y + dy[i]);
	}
}
相关推荐
元亓亓亓1 小时前
LeetCode热题100--98. 验证二叉搜索树--中等
算法·leetcode·职场和发展
拒绝摆烂2 小时前
LeetCode Hot 100 第7天
算法·leetcode·哈希算法
一起努力啊~4 小时前
算法题打卡力扣第15题:三数之和(mid)
算法·leetcode·职场和发展
快去睡觉~4 小时前
力扣18:四数之和
算法·leetcode·深度优先
岁忧15 小时前
(LeetCode 每日一题) 498. 对角线遍历 (矩阵、模拟)
java·c++·算法·leetcode·矩阵·go
Greedy Alg16 小时前
LeetCode 560. 和为 K 的子数组
算法·leetcode·职场和发展
xwztdas19 小时前
AT_abc401_f [ABC401F] Add One Edge 3
图论·广度优先·树的直径
j_xxx404_21 小时前
数据结构:单链表的应用(力扣算法题)第一章
c语言·数据结构·算法·leetcode
1白天的黑夜11 天前
链表-25.k个一组翻转链表-力扣(LeetCode)
数据结构·leetcode·链表