Anagrams: Difference between revisions

No edit summary
Line 3,470:
=={{header|Julia}}==
<lang Julia>url = "http://www.puzzlers.org/pub/wordlists/unixdict.txt"
 
wordlist = open(readlines, download(url))
 
wsort(word::AbstractString) = join(sort(collect(word)))
 
function anagram(wordlist::Vector{<:AbstractString})
hash dict = Dict{String, Set{String}}() ; ananum = 0
for word in wordlist
sorted = wsort(word)
hash[sorted] = [ push!(get!(hashdict, sorted, []Set{String}();), word ])
end
ananum = max(length(hash[sorted]), ananum)
wcnt = maximum(length, values(dict))
end
return collect(values(Iterators.filter((x,y) -> length(y) == ananumwcnt, hashvalues(dict)))
end
 
</lang>
<pre>julia> println.(anagram(wordlist))</lang>
 
{{out}}
<pre>Set(String["live", "vile", "veil", "evil", "levi"])
<pre>julia> anagram(wordlist)
AnySet(String["abel", "able", "bale", "bela", "elba"] )
6-element Array{Any,1}:
AnySet(String["elancrate", "lanecater", "leancarte", "lenatrace", "nealcaret"] )
AnySet(String["evilgalen", "leviangel", "livelange", "veilangle", "vileglean"] )
AnySet(String["angellager", "angleregal", "galenglare", "gleanlarge", "langealger"])
AnySet(String["algerneal", "glareelan", "lagerlena", "largelane", "regallean"])</pre>
Any["abel","able","bale","bela","elba"]
Any["caret","carte","cater","crate","trace"]</pre>
 
=={{header|K}}==
Anonymous user