码迷,mamicode.com
首页 > 其他好文 > 详细

200. Number of Islands

时间:2018-05-04 11:52:03      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:分享   矩阵   nbsp   src   mis   多少   code   img   数值   

技术分享图片

该题目要算出矩阵中有多少个数值为“1”的数据块。主要思路是对矩阵进行遍历,遇到“1”的元素的时候,对元素进行深度遍历,并将“1”元素改为非“1”。

代码如下:

 

 1 class Solution {
 2     public int numIslands(char[][] grid) {
 3         int res = 0;
 4         if(grid == null || grid.length == 0){
 5             return res;
 6         }
 7         
 8         int m = grid.length, n = grid[0].length;
 9         
10         for( int i = 0 ; i < m ; i++ ){
11             for( int j = 0 ; j < n ; j++){
12                 if(grid[i][j] == ‘1‘){
13                     res ++;
14                     occupyIsland(grid, i, j);
15                 }
16             }
17         }
18         
19         return res;
20     }
21     
22     private void occupyIsland(char[][] grid, int i, int j){
23         grid[i][j] = ‘2‘;
24         
25         int m = grid.length, n = grid[0].length;
26         if( i+1 < m && grid[i+1][j] == ‘1‘){
27             occupyIsland(grid, i+1, j);
28         }
29         if( j+1 < n && grid[i][j+1] == ‘1‘){
30             occupyIsland(grid, i, j+1);
31         }
32         if( i-1 >= 0 && grid[i-1][j] == ‘1‘){
33             occupyIsland(grid, i-1, j);
34         }
35         if( j-1 >= 0 && grid[i][j-1] == ‘1‘){
36             occupyIsland(grid, i, j-1);
37         }        
38     }
39 }

 

 

END

200. Number of Islands

标签:分享   矩阵   nbsp   src   mis   多少   code   img   数值   

原文地址:https://www.cnblogs.com/sssysukww/p/8989501.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!