如果单词中的字母可以重新排列以形成不同的单词,则该单词就是字谜。
任务:
最短的源代码通过字符数找到给定单词列表的所有字谜集。
空格和换行符应该算作字符
使用码尺
---------10--------20--------30--------40--------50---- ----60--------70--------80--------90--------100--------110- ------120
输入:
来自标准输入的单词列表,每个单词由一个新行分隔。
例如
A
A's
AOL
AOL's
Aachen
Aachen's
Aaliyah
Aaliyah's
Aaron
Aaron's
Abbas
Abbasid
Abbasid's
输出:
所有字谜集,每组由单独的行分隔。
示例运行:
./anagram < words
marcos caroms macros
lump's plum's
dewar's wader's
postman tampons
dent tend
macho mocha
stoker's stroke's
hops posh shop
chasity scythia
...
我有一个 149 字符 perl 解决方案,我会在更多人发布后立即发布 :)
玩得开心!
编辑:澄清
- 假设字谜不区分大小写(即大小写字母是等价的)
- 只应打印多于 1 件的套装
- 每组字谜应该只打印一次
- 字谜集中的每个单词只能出现一次
EDIT2:更多说明
- 如果两个单词仅大小写不同,则应将它们折叠成同一个单词,由您决定使用哪种大写方案用于折叠单词
- 单词集只需要换行结束,只要每个单词以某种方式分隔,例如逗号分隔或空格分隔都是有效的。我了解某些语言内置了快速数组打印方法,因此如果它不输出空格分隔的数组,这应该允许您利用它。