我是一个新手,我不知道从哪里去。输入是单词阵列 - 输出应该是对阵列进行分组的数组阵列。
def combine_anagrams(words)
a1 = []
words.sort do |x, y|
a = x.downcase.chars.sort.join
b = y.downcase.chars.sort.join
if a == b
a1.push(x,y)
end
end
end
x = ['cars', 'for', 'potatoes', 'racs', 'four', 'scar', 'creams', 'scream']
combine_anagrams(x)
我使用的排序方法数组中,因为它是我发现它可以让我通过它的阵列来比较两个元素的唯一方法。任何和所有的帮助,非常感谢!
非常好!我认为他们都是成对的,并且错过了他们会有三倍或单打的可能性。 –
这就是这样。我只提出一个变量的重命名:'x' - >'words','s' - >'word'。 – tokland
这是伟大的sawa谢谢你!你能否详细说明在我的代码中替换的内容以及它的放置位置。我不断收到未定义的方法错误。 – ltrainpr