變位詞

變位詞

中等

簡介

在車庫拍賣上,你以便宜的價格找到一台漂亮的復古打字機!你興奮地衝回家,塞進一張紙,開始打起字來。不過,當你檢查印出來的東西時,興奮感就消退了:所有的字都亂七八糟!例如,它印出「stop」而不是「post」,印出「least」而不是「stale」。你小心翼翼地再試一次,但這次它印出的是「spot」和「slate」。經過一番實驗,你發現每個字母印出前都有隨機的延遲,把順序打亂了。現在你總算明白為什麼他們賣得這麼便宜了吧!

你意識到這個怪毛病讓你能產生重組字,也就是把另一個詞的字母重新排列後所形成的詞。對這個發現很滿意,你就花了接下來一整天的時間產生數百個重組字。

說明

給定一個目標字詞和一個或多個候選字詞,你的任務是找出與目標互為變位詞的候選字詞。

變位詞是重新排列字母後形成的新字詞:例如 "owns" 是 "snow" 的變位詞。 一個字詞_不是_自己的變位詞:例如 "stop" 不是 "stop" 的變位詞。

目標字詞和候選字詞由一個或多個 ASCII 英文字母(A-Z 和 a-z)組成。 小寫和大寫字母視為相同:例如 "PoTS" 是 "sTOp" 的變位詞,但 "StoP" 不是 "sTOp" 的變位詞。 你需要找出的字詞應該取自候選字詞,並使用相同的字母大小寫。

給定目標"stone"與候選字詞"stone"、"tones"、"banana"、"tons"、"notes"和"Seton",你需要找出的變位詞是"tones"、"notes"和"Seton"。

實作

這些重組字可以用任意順序回傳。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Cairo Exercism

準備好開始 變位詞 了嗎?

註冊 Exercism,透過 25 個概念68 個練習 和真人引導來學習並精通 Cairo,全部免費。