我今天花了一些时间来解决均衡指数问题(在此处描述)
在编写了我自己的解决方案(它在大数字时表现不佳)后,我决定找到一个完美的分数。我发现了这个(其中 Codility 得分为 100/100):
def equi(a)
left, right = 0, a.inject(0, &:+)
indices = []
a.each_with_index do |val, i|
right -= val
indices << i if right == left
left += val
end
indices
end
我不明白的是方法顶部的并行分配和注入的使用。有谁能够描述这是在做什么?
非常感谢!斯图