西雅图的初创公司
题目比较简单:
number of islands 变种:求最大岛屿
followup: 如果允许flip一个位置,求最大岛屿
要写完整代码,debug,再加上列举test case跑通
西雅图的初创公司
题目比较简单:
number of islands 变种:求最大岛屿
followup: 如果允许flip一个位置,求最大岛屿
要写完整代码,debug,再加上列举test case跑通
你followup怎么答的
先用第一问的方法预处理一下数据:
用一个int标注一下岛屿,用hashmap记录岛屿面积
第二次遍历整个数组:
遇到0的话就取一下上下左右的岛屿,不同的岛屿的面积加在一起就是备选值,更新最大面积
嗯,扫到这种0可以先记着。然后遍历这些0。
是不是用union find更合适? 如果用union by size优化 作用和hashmap记录大小一样。
但是用find方法找相邻的island更简单一些。
是可以,找相邻还是差不多做法