Offerup 电面

西雅图的初创公司

题目比较简单:

number of islands 变种:求最大岛屿
followup: 如果允许flip一个位置,求最大岛屿

要写完整代码,debug,再加上列举test case跑通

你followup怎么答的

先用第一问的方法预处理一下数据:
用一个int标注一下岛屿,用hashmap记录岛屿面积

第二次遍历整个数组:
遇到0的话就取一下上下左右的岛屿,不同的岛屿的面积加在一起就是备选值,更新最大面积

嗯,扫到这种0可以先记着。然后遍历这些0。

是不是用union find更合适? 如果用union by size优化 作用和hashmap记录大小一样。
但是用find方法找相邻的island更简单一些。

是可以,找相邻还是差不多做法