使用DFS來將每一個點走過一遍來確認地圖上有幾個不同字元的地區,可以用MAP的方式把字元的地區數量存起來。需要注意的是,需要有一個陣列/Vector來紀錄走過的每一個點來避免DFS重複計算的情況。輸出的時候要按照地區的數量由大到小輸出,這時可以將每一個字元和地區數量存在一個Pair裡面,第一個欄位存int,第二個欄位存字元,並把這些Pair存在陣列/Vector裡,這樣就可以用Algorithm的Sort來排序要輸出的資料,最後只要用For迴圈依序輸出即可。
範例程式碼