可以先將連續的相同字元排除掉。然後跑 For迴圈,並且宣告一個 Map<char, int>,如果目前字元的 Map 值 != 0,就要使用 for(auto it:MAP),如果 it.second > Map[目前字元],代表這個字母的順位應該要 -1。另外,還要宣告一個 count 變數預設為 1。for(auto it:MAP) 結束後,將 Map[目前字元] 設為 count-1,如果是新的字元的話就是 Map[目前字元] = count,然後要 count++。
輸出時也是使用 for(auto it:MAP) 來輸入,因為 Map 會自己排序好,所以會從 A 到 z 輸出,只需要輸出 it.second 即可。