2013-04-10 12:38:42 -07:00
|
|
|
require 'open-uri'
|
|
|
|
|
|
|
|
|
|
anagram = Hash.new {|hash, key| hash[key] = []} # map sorted chars to anagrams
|
|
|
|
|
|
2020-02-17 23:21:07 -08:00
|
|
|
open('http://wiki.puzzlers.org/pub/wordlists/unixdict.txt') do |f|
|
2013-04-10 12:38:42 -07:00
|
|
|
words = f.read.split
|
|
|
|
|
for word in words
|
|
|
|
|
anagram[word.split('').sort] << word
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
count = anagram.values.map {|ana| ana.length}.max
|
|
|
|
|
anagram.each_value do |ana|
|
|
|
|
|
if ana.length >= count
|
|
|
|
|
p ana
|
|
|
|
|
end
|
|
|
|
|
end
|