麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Leetcode: Number of Islands

2019-11-14 23:43:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Leetcode: Number of Islands
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.Example 1:11110110101100000000Answer: 1Example 2:11000110000010000011Answer: 3

DFS的Flood Fill方法,

使用額外Visited數(shù)組的做法:

 1 public class Solution { 2     public int numIslands(char[][] grid) { 3         if (grid==null || grid.length==0 || grid[0].length==0) return 0; 4         int count = 0; 5         boolean[][] visited = new boolean[grid.length][grid[0].length]; 6         for (int i=0; i<grid.length; i++) { 7             for (int j=0; j<grid[0].length; j++) { 8                 if (grid[i][j] != '1') continue; 9                 else {10                     count++;11                     floodFill(grid, i, j, visited);12                 }13             }14         }15         return count;16     }17     18     public void floodFill(char[][] grid, int i, int j, boolean[][] visited) {19         if (i<0 || i>=grid.length || j<0 || j>=grid[0].length) return;20         if (visited[i][j]) return;21         if (grid[i][j] != '1') return;22         grid[i][j] = '2';23         floodFill(grid, i-1, j, visited);24         floodFill(grid, i+1, j, visited);25         floodFill(grid, i, j-1, visited);26         floodFill(grid, i, j+1, visited);27     }28 }

更節(jié)省空間的方法:不使用額外visited數(shù)組,但是用‘1’變成‘2’表示visited的方法

 1 public class Solution { 2     public int numIslands(char[][] grid) { 3         if (grid==null || grid.length==0 || grid[0].length==0) return 0; 4         int count = 0; 5         for (int i=0; i<grid.length; i++) { 6             for (int j=0; j<grid[0].length; j++) { 7                 if (grid[i][j] != '1') continue; 8                 else { 9                     count++;10                     floodFill(grid, i, j);11                 }12             }13         }14         return count;15     }16     17     public void floodFill(char[][] grid, int i, int j) {18         if (i<0 || i>=grid.length || j<0 || j>=grid[0].length) return;19         if (grid[i][j] != '1') return; //either 0(water) or 2(visited)20         grid[i][j] = '2';21         floodFill(grid, i-1, j);22         floodFill(grid, i+1, j);23         floodFill(grid, i, j-1);24         floodFill(grid, i, j+1);25     }26 }


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蜜桃一本色道久久综合亚洲精品冫 | 香蕉成人在线视频 | 国产美女视频黄a视频免费 日韩黄色在线播放 | 欧美a级在线免费观看 | 久久精品一二三区白丝高潮 | 91午夜免费视频 | 成人在线观看网 | 精品一区二区三区在线播放 | 国产成人精品免费视频大全最热 | 免费黄网站在线播放 | 九九热精品视频在线 | 久草在线高清视频 | 久久久www成人免费毛片 | 久久草在线视频国产 | 在线看日本 | 国产精品av久久久久久网址 | 久久成人国产精品 | 欧美精品久久天天躁 | 成人毛片视频免费看 | 老女人碰碰在线碰碰视频 | 久久精品网址 | 中文字幕在线资源 | 斗破苍穹在线免费 | 国产日韩免费观看 | 高清国产免费 | 9191色| 欧美一区中文字幕 | 一级毛片真人免费播放视频 | 依人在线视频 | 成人激情视频网站 | 毛片在线视频观看 | 国产美女视频黄a视频免费 日韩黄色在线播放 | 精品一区二区6 | 2021狠狠操 | 日本高清视频网站www | 在线观看麻豆 | 91在线播放国产 | 女18一级大黄毛片免费女人 | 毛片成人网 | 美女污污视频在线观看 | 免费在线观看国产精品 |