-1
dictionary = ['acres', 'cares', 'Cesar', 'races', 'smelt', 'melts', 'etlsm']
def anagrams_for(word, array)
matches = []
array.each do |x|
if word.downcase.chars.sort == x.downcase.chars.sort
matches.push(x)
end
end
puts matches
end
如果輸入詞在詞典中,它應該在返回的數組中。不使用循環的Anagram碼
該列表應該不區分大小寫。
anagrams_for('acres', dictionary) # => ['acres', 'cares', 'Cesar', 'races']
anagrams_for('ACRES', dictionary) # => ['acres', 'cares', 'Cesar', 'races']
anagrams_for('Cesar', dictionary) # => ['acres', 'cares', 'Cesar', 'races']
雖然"sacre"
不在字典,字典中的幾個詞是"sacre"
字謎。
anagrams_for('sacre', dictionary) # => ['acres', 'cares', 'Cesar', 'races']
輸入單詞和詞典中的單詞都不需要是有效的英文單詞。
anagrams_for('etlsm', dictionary) # => ['smelt', 'melts', 'etlsm']
anagrams_for('unicorn', dictionary) # => []
是否有一種方法不需要循環來實現相同的結果?
謝謝,這是非常優雅。 – Cozzie