力扣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]);
	}
}
相关推荐
scx201310044 小时前
20260129LCA总结
算法·深度优先·图论
圣保罗的大教堂10 小时前
leetcode 3650. 边反转的最小路径总成本 中等
leetcode
木井巳11 小时前
【递归算法】验证二叉搜索树
java·算法·leetcode·深度优先·剪枝
Snow_day.12 小时前
有关线段树应用(1)
数据结构·算法·贪心算法·动态规划·图论
We་ct13 小时前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
历程里程碑13 小时前
子串----和为K的子数组
大数据·python·算法·leetcode·elasticsearch·搜索引擎·哈希算法
YuTaoShao13 小时前
【LeetCode 每日一题】2976. 转换字符串的最小成本 I
算法·leetcode·职场和发展
我是咸鱼不闲呀15 小时前
力扣Hot100系列16(Java)——[堆]总结()
java·算法·leetcode
YuTaoShao16 小时前
【LeetCode 每日一题】2977. 转换字符串的最小成本 II——(解法一)记忆化搜索
算法·leetcode·职场和发展
希望有朝一日能如愿以偿16 小时前
力扣每日一题
数据结构·算法·leetcode