例如,我们有一个这样的数组arr = [1, 1, 3, 4, 5, 7]
,并给定了数字8,我们需要在此数组中找到任意n个元素,它们将是给定数字的总和。在这种情况下,它应该是[1、3、4]或[1、7]或[3、5]。在Ruby中最简单的方法是什么?
就像@Stefan和@Jorg在评论中说的那样,没有简单的方法可以做到这一点。如果这是我自己的问题,我可能会写下这样的内容。
arr = [1, 1, 3, 4, 5, 7]
number = 8
result = []
for i in 0..(arr.length) do
arr.combination(i).each do |combination|
result.push(combination) if combination.sum == number
end
end
print result.uniq
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句