在下面的代码中,给出:
grid = { "010", "101", "010" }
我发现在i = 2
和j = 1
条件下,grid[i-1][j]
的值为1
,而实际grid[1][1]
应为0
。
为什么价值不符合我的预期?
public static int NumIslands(string[] grid)
{
int num = 0;
for (var i = 0; i < grid.Length; i++)
{
for (var j = 0; j < grid[i].Length; j++)
{
if (grid[i][j] == '1' && (i == 0 || grid[i - i][j] == '0') && (j == 0 || grid[i][j - 1] == '0'))
{
num++;
}
}
}
}
答案 0 :(得分:3)
我认为问题在于你写了网格[i - i ]而不是网格[i- 1 ]