Flood fill1 leetcode 827 - Making A Large Island https://leetcode.com/problems/making-a-large-island/ 풀이 먼저 모든 island를 flood fill 하면서 구분 짓고 크기를 센다. 0은 경계선이고 1은 island라는 의미를 가지기 때문에 아래 코드에서는 island id는 2부터 증가하는 숫자로 구분 지었다. island를 구분 짓고 크기를 세었으면 모든 0인 부분에 대해서 1로 바꿔보고 이웃한 island의 크기를 합해본다. 4방향 이웃의 크기를 더할 때 같은 island인 경우 중복해서 더하면 안 되기 때문에 먼저 island id로 중복을 제거한다. 모든 맵을 순회 하면서 flood fill을 한번 하기 때문에 시간 복잡도는 $O(n^2)$ 이다. 코드 class Solution { public: v.. 2020. 10. 13. 이전 1 다음