什么是适当的方法,它需要 2 个参数 array 和 n ,如果 2 个数组元素的总和 = n 使用 ruby,则返回 true ?我知道检测和注入(:+),但不知道如何将它们结合起来。
问问题
232 次
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 回答