给定一个 Ruby 数组,我需要找到是否存在一个元素,使得该元素左侧的元素之和等于右侧的元素之和。
例子:
[1,2,3,3]
这个元素是3,因为左侧元素[1,2]的总和等于右侧元素的总和。
我不确定怎么解决,但我会尝试一下。
def left_equal_right(array)
array.any? do |x|
index = array.index(x)
array[0..index-1].inject(:+) == array[index+1..-1].inject(:+)
end
end
array.any?([1,2,3,3])
=> returns true, but I'm not sure this method works for larger arrays.
array.any?([1,2,2,3])
,因为您实际上没有调用您的例程。 - Brennanarray.index
。它只会找到第一个。 - Mark Reed