在ruby中循环组合方法

时间:2014-07-22 04:08:22

标签: ruby combinations

我在coderbytes上经历了一个问题,但卡住了。我应该编写一个接收数组的方法,并检查数组中任何数字组合的总和是否等于数组中的最大数。该数组不会为空,不包含所有相同的元素,并且可能包含负数。这是我写的。

def ArrayAdditionI(arr)
  if arr.combination(2).any? {|x,y| x + y == arr.max}
    return "true"
  else 
    return "false"
  end
end  

唯一的问题是我想在(2..arr.length)中使用每个数字迭代组合输入。任何人都有一个简单的方法来做到这一点。

此外,arr.combination(2).any? {|x,y| x + y == arr.max}本身在满足上述条件时返回true,这使我认为可能不需要if。任何人都知道如果没有if语句,方法会返回true吗?

0 个答案:

没有答案