切換
舊版
前往
大廳
主題

ZeroJudge - e607: 00454 - Anagrams 解題心得

Not In My Back Yard | 2020-01-17 00:43:02 | 巴幣 0 | 人氣 164

題目連結:


題目大意:
給定一正整數 T ,代表有 T 筆測試資料。每筆測資開頭有一空白列,接著有不定量列(1 ~ 100 列)的輸入,每列給定一字串(有小寫字母以及空格)。

「易位構詞」(Anagram)代表一字串(忽略空格)可以藉由排列組合變成另一個字串。例如「carthorse」是「orchestra」的易位構詞。而「orchestra」跟「horse cart」也是易位構詞。

請輸出給定字串中各個易位構詞對(找到兩個字串對,彼此為易位構詞)並以「 = 」分隔。輸出的順序為:先按照等號左邊的字串按字典序排,再按照等號右邊的字串之字典序排序。



範例輸入:
1

carthorse
horse
horse cart
i do not know u
ok i now donut
orchestra


範例輸出:
carthorse = horse cart
carthorse = orchestra
horse cart = orchestra
i do not know u = ok i now donut


解題思維:
先將所有給定的字串以字典序排序。接著統計每個字串出現的字元,然後掃過一次排序後的字串們。每遇到一個字串就與排在其後的去比較兩者擁有的字元,一樣就照著輸出格式輸出。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作