我已经解决了一个问题,要求你编写一个方法来确定所提供的数组中的字是字谜,并将字谜分组到输出中的子数组中.
我已经使用看似典型的方式来解决它,通过对单词进行排序并将它们分组为基于排序字符的哈希.
当我最初开始寻找一种方法时,我注意到String#sum存在将每个角色的序数加在一起.
我想尝试一些方法来确定一个基于使用的字谜sum.例如,"汽车"和"疤痕"是字谜,它们sum是425.
给定%w[cars scar for four creams scream racs]输出的预期输出(我已经使用哈希解决方案得到)是:[[cars, scar, racs],[for],[four],[creams,scream]].
看起来好像做了这样的事情:
input.each_with_object(Hash.new []) do |word, hash|
hash[word.sum] += [word]
end
Run Code Online (Sandbox Code Playgroud)
是一种方法,它给你一个哈希,其中键"425"的值是['cars','racs','scar'].我认为我缺少的是将其转换为预期的输出格式.
我有两个字符串,a并且b,在Ruby中.
a="scar"
b="cars"
Run Code Online (Sandbox Code Playgroud)
什么是Ruby的最简单的方法来寻找是否a和b包含相同字符?
更新
我正在构建Anagram游戏,因此疤痕是汽车的字谜.所以我想要一种比较a和b的方法,并得出结论它的anagram
所以c="carcass"不应该是匹配