200. Number of Islands | Java最短代码实现
2016-03-18 13:02
656 查看
原题链接:200. Number of Islands
【思路】
本题考查dfs和bfs的结合。由于题目没有限制不可改变原数组的结构,所以一旦遇到1,就将周边相邻的几个1置为2。遍历整个数组,遇到1的个数要求的解:
cases passed. Runtime: 4
ms Your runtime beats 37.40% of javasubmissions.
欢迎优化!
【思路】
本题考查dfs和bfs的结合。由于题目没有限制不可改变原数组的结构,所以一旦遇到1,就将周边相邻的几个1置为2。遍历整个数组,遇到1的个数要求的解:
public int numIslands(char[][] grid) { int islansNum = 0; for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[0].length; j++) { if (grid[i][j] != '1') continue; dfs(grid, i, j); islansNum++; } } return islansNum; } public void dfs(char[][] grid, int row, int column) { if (row >= 0 && row < grid.length && column >= 0 && column < grid[0].length) { if (grid[row][column] == '1') { grid[row][column] = '2'; dfs(grid, row + 1, column); dfs(grid, row, column + 1); dfs(grid, row - 1, column); dfs(grid, row, column - 1); } } }45 / 45 test
cases passed. Runtime: 4
ms Your runtime beats 37.40% of javasubmissions.
欢迎优化!
相关文章推荐
- spring后台返回json数据 页面406错误 Not Acceptable解决
- Spring AOP面向切面编程及两种动态代理
- MyEclipse里面跑项目的时候,直接来了个这样的错误导致不能正常运行。MyEclipse也直接卡死不动了。
- Java获取随机数的方法
- java入门基础笔记第四天
- 编程从Java开始
- java复习总结5
- [转]Struts2理解--动态方法和method属性及通配符_默认Action
- 调试JDK源码-ConcurrentHashMap实现原理
- Java中构造函数重载和方法重载
- Java线程:新特征-有返回值的线程
- java零基础入门笔记第三天
- 【总结】Java序列化,反序列化实例(属性类不实现序列化接口)
- 温故3:Java集合框架中的几个常用接口
- Java多线程系列--“基础篇”01之 基本概念
- 整理io中的同步异步,阻塞非阻塞概念
- Java陷阱之assert关键字
- java 类中 构造函数的相互调用 顺序
- IntelliJ 开发SpringMVC 入门
- 一个很好的java论坛