
获得徽章 0
- 为什么要找对象,一个人他不香吗。谈个对象过年过节要花心思给对方惊喜吧,生气了要哄吧,打个游戏还一直念叨你吧,大姨妈来了你要忍着吧,纪念日你要记得好多吧,自在的一个人不好,自己想干嘛干嘛。反正我是觉得香。真没必要为了找对象而找对象,不香。好了晚上继续,德玛西亚5636
- 【LintCode题解|阿里巴巴高频题:岛屿的个数】
【题目描述 】
给一个 01 矩阵,求不同的岛屿的个数。
0 代表海,1 代表岛,如果两个 1 相邻,那么这两个 1 属于同一个岛。我们只考虑上下左右为相邻。
【题目样例 】
样例 1:
输入:
[
[1,1,0,0,0],
[0,1,0,0,1],
[0,0,0,1,1],
[0,0,0,0,0],
[0,0,0,0,1]
]
输出:
3
样例 2:
输入:
[
[1,1]
]
输出:
1
【题目解析 】:
使用 DFS 的方法进行搜索。
DFS 分为两类:
找所有路径的
找所有节点的
第一类一般需要回溯,也就是把一个东西标记为使用过以后要把他标记回来。这样才能找到所有的路径。
第二类不需要回溯,因为只需要把所有连通的节点都标记一下即可。
DFS 来做这道题目虽然可以在 LintCode / LeetCode 等题库拿到 AC,但是在面试中并不推荐,因为 DFS 的深度可能会比较深。
【参考代码见图片】
[点击Lintcode](www.lintcode.com)进行在线评测
展开64 - 当移除HashMap节点,如果是红黑树,如果不能满足一个完整的左右节点,root == null || root.right == null || (rl = root.left) == null || rl.left == null) 即根节点没有值,右一代没值 ,左一代没值,坐二代没值评论1