在由 1 x 1 方格組成的 n x n 網格 grid 中,每個 1 x 1 方塊由 /、\ 或空格構成。
這些字元會將方塊劃分為一些共邊的區域。
(請注意,反斜槓字元是轉義的,因此 \ 用 "\\" 表示。)。
返回區域的數目。
示例 1:
輸入:[
" /",
"/ "
]輸出:2
解釋:2x2 網格如下:
示例 2:
輸入:[
" /",
" "
]輸出:1
解釋:2x2 網格如下:
示例 3:
輸入:[
"\\/",
"/\\"
]輸出:4
解釋:(回想一下,因為 \ 字元是轉義的,所以 "\\/" 表示 \/,而 "/\\" 表示 /\。)
2x2 網格如下:
示例 4:
輸入:[
"/\\",
"\\/"
]輸出:5
解釋:(回想一下,因為 \ 字元是轉義的,所以 "/\\" 表示 /\,而 "\\/" 表示 \/。)
2x2 網格如下:
示例 5:
輸入:[
"//",
"/ "
]輸出:3
解釋:2x2 網格如下:
//單元格間合併
// 向右合併:1(當前)、3(右一列)
if (j + 1 < n)
//向下合併 2(當前) 0(下一列)
if (i + 1 < n) }}
return unionfind.getcount();
}}class unionfind
}private int find(int index)
return parent[index];
}void union(int x, int y)
parent[rooty] = rootx;
rank[rootx] += rank[rooty];
count--;
}int getcount()
}
leetcode 959 由斜槓劃分區域
目錄 一 題目內容 二 解題思路 三 在由 1 x 1 方格組成的 n x n 網格 grid 中,每個 1 x 1 方塊由 或空格構成。這些字元會將方塊劃分為一些共邊的區域。請注意,反斜槓字元是轉義的,因此 用 表示。返回區域的數目。示例 1 輸入 輸出 2 解釋 2x2 網格如下 示例 2 輸入...
LeetCode 959 由斜槓劃分區域
難度 中等。這個題,我不會,看別人的思路。參考 然後問題同 200.島嶼數量,遍歷0的區域。我的實現 class solution void change map int i,int j,int n public int regionsbyslashes vector grid else if gr...
leetCode 959 由斜槓劃分區域
這題的關鍵點就是如何將每個方格進行劃分,以及如何計算每個小方格的座標,然後根據每個方格的型別在方格內合併,然後再方格之間合併,最後返回連通分量的個數即可 class solution else if cur else if j 1 n if i 1 n return uf.getcount clas...