1

什么是适当的方法,它需要 2 个参数 array 和 n ,如果 2 个数组元素的总和 = n 使用 ruby​​,则返回 true ?我知道检测和注入(:+),但不知道如何将它们结合起来。

4

2 回答 2

2

Array#combination如果数组长度可以大于 2,则可以使用。

combination(2)返回长度为 2 的所有组合,any?如果至少一个组合具有 sum ,则返回 true n

def foo(arr,n)  
  arr.combination(2).any?{|a,b| a + b == n}
end

foo [1,2,3,4,5], 3 #=> true
foo [1,2,3,4,5], 10 #=> false
于 2013-10-14T21:35:47.373 回答
0

不知道这是一个有用的功能,但你去

def weird_function arr, n
  return arr[0] + arr[1] === n
end

用法

weird_function [1,3], 4 #=> true
weird_function [1,2], 4 #=> false
于 2013-10-14T21:14:46.373 回答