我正在尝试计算二维二进制矩阵中岛屿的数量(一组连接的 1 形成一个岛屿)。
例子:
[
[1, 1, 0, 0, 0],
[0, 1, 0, 0, 1],
[1, 0, 0, 1, 1],
[0, 0, 0, 0, 0],
[1, 0, 1, 0, 1]
]
Run Code Online (Sandbox Code Playgroud)
在上面的矩阵中有5个岛,它们是:
First: (0,0), (0,1), (1,1), (2,0)
Second: (1,4), (2,3), (2,4)
Third: (4,0)
Fourth: (4,2)
Fifth: (4,4)
Run Code Online (Sandbox Code Playgroud)
为了计算 2D 矩阵中岛屿的数量,我假设矩阵是一个 Graph,然后我使用 DFS 类型的算法来计算岛屿。
我正在跟踪 DFS(递归函数)调用的数量,因为图中会有很多组件。
下面是我为此目的编写的代码:
# count the 1's in the island
def count_houses(mat, visited, i, j):
# base case
if i < 0 or i >= len(mat) or …Run Code Online (Sandbox Code Playgroud) 这里:
System.out.println("Hi, this is frist program");
Run Code Online (Sandbox Code Playgroud)
是类或实例成员函数println()的静态PrintStream成员函数吗?
正如我的老师所说:当.类名后面有dot()时,我们肯定会尝试访问该类的静态成员.
这里是静态引用变量,它引用了PrintStream类.所以我的问题是,println()函数必须是一个静态成员函数吗?