Leetcode 200 岛屿数量 (每日一题 20210720)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 200 岛屿数量 (每日一题 20210720)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個由?'1'(陸地)和 '0'(水)組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,并且每座島嶼只能由水平方向和/或豎直方向上相鄰的陸地連接形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1:輸入:grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]
]
輸出:1
示例 2:輸入:grid = [["1","1","0","0","0"],["1","1","0","0","0"],["0","0","1","0","0"],["0","0","0","1","1"]
]
輸出:3提示:m == grid.length
n == grid[i].length
1 <= m, n <= 300
grid[i][j] 的值為 '0' 或 '1'鏈接:https://leetcode-cn.com/problems/number-of-islandsclass Solution:def numIslands(self, grid: List[List[str]]) -> int:row, col, count = len(grid), len(grid[0]), 0def dfs(x, y):gris[x][y] = '0'for c in [(0,1),(0,-1),(-1,0),(1,0)]:nx, ny = x + c[0], y + c[1]if 0<= nx < row and 0<= ny < col and grid[nx][ny] == '1':dfs(nx, ny)for i in range(row):for j in range(col):if grid[i][j] == '1':dfs(i,j)count += 1return count
總結
以上是生活随笔為你收集整理的Leetcode 200 岛屿数量 (每日一题 20210720)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 25 K个一组翻转链表
- 下一篇: Leetcode 79. 单词搜索 (每