我想将每个项目放在一个数组中,将它们彼此相乘,然后找到倍数的最大值。
我尝试了很多事情,直到找到了该cycle
方法,然后才知道并陷入困境:
def adjacentElementsProduct(inputArray)
outArray = inputArray.cycle(inputArray.length){|num| num[0] * num[1]}.to_a
return outArray.max
end
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为Ruby显然没有(陈述的)能力来知道什么num[0]
或是什么num[1]
。
例如:
adjacentElementsProduct([3, 6, -2, -5, 7, 3]) => 21
Run Code Online (Sandbox Code Playgroud)
因为3*7
当所有数字相乘时是最大的乘积。