小编Jus*_*ice的帖子

如何将每个值彼此相乘

我想将每个项目放在一个数组中,将它们彼此相乘,然后找到倍数的最大值。

我尝试了很多事情,直到找到了该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当所有数字相乘时是最大的乘积。

ruby arrays product cycle

0
推荐指数
1
解决办法
202
查看次数

标签 统计

arrays ×1

cycle ×1

product ×1

ruby ×1