我想将我的答案哈希键和值显示为一个数组(普通英语中,我们称其为“答案集”;不要与编程术语“集合”相混淆)。因此,我可以显示{a => 12} {b => 10}
而不是[a, 12] [b, 10]
。
我知道如何打印/返回值,但是我也想显示相应值的键。
我正在检查数组中的一堆数字,以查看其中哪些加起来就是我要寻找的数字。例如:([1、2、3、4、5],6)。我可以获得执行所有操作的功能,并给我结果。但是我希望结果显示为答案数组(或用英语,“一组答案”),而不仅仅是散列。因此,对于上面的示例,答案将类似于:[1, 5] [2,4]
。
array = [1, 2, 3, 4]
x = 5
def two_sum(array, x)
set_nums = {}
array.each do |y|
difference = x - y
if set_nums[difference]
return set_nums
end
set_nums[y] = difference
end
return 'unable to find pairs'
end
puts two_sum(array, x)
我想得到[1, 4], [2, 3]
现在就实际使用:{1=>4, 2=>3}
答案 0 :(得分:0)
信用:@SergioTulentsev
最后一行需要更正:
p two_sum(array, x).to_a
解决了该问题,代替了“ put”,“ p”和后缀.to_a