http://www.1point3acres.com/bbs/thread-147870-1-1.html
find lake。想必大家应该耳熟能详。0表示水,1表示陆地,小哥一直强调lake是只被同一个island围绕的水,边界不算lake。后来冷静了想想,如果是lake的话,也只能被同一个island包围吧。
http://www.jiuzhang.com/qa/19/
find lake。想必大家应该耳熟能详。0表示水,1表示陆地,小哥一直强调lake是只被同一个island围绕的水,边界不算lake。后来冷静了想想,如果是lake的话,也只能被同一个island包围吧。
http://www.jiuzhang.com/qa/19/
第一步,从边缘处将所有的0用bfs遍历,标记成1,即把所以的大海变成陆地。
第二步,从边缘处将所有的1(包括大海变过来的1)用bfs遍历,标记成2,即去掉所有的陆地。(这样可以去掉大海中的小岛)
第三部,再对剩下所有为1的小岛进行遍历,找到一个,结果加一。(剩下的0全部为湖,剩下的1全部为湖中小岛)
第二步,从边缘处将所有的1(包括大海变过来的1)用bfs遍历,标记成2,即去掉所有的陆地。(这样可以去掉大海中的小岛)
第三部,再对剩下所有为1的小岛进行遍历,找到一个,结果加一。(剩下的0全部为湖,剩下的1全部为湖中小岛)