我目前正在处理Odin上的选股器问题,我甚至正在努力解决这个问题。我花了很长时间试图将我的想法实现到代码中,但没有avail...So,我从另一个解决方案中寻找灵感,看看它是否可以帮助我尝试解决问题。best_sell =j+ (i + 1)在做什么?我不明白它是如何选择购买日期之后的最高销售日期的?http://www.theodinproject.com/courses/ruby-programming/lessons/building-blocks?ref=lnav
def stock_picker(arr)
best_buy = 0
best_sell = 0
max_profit = 0
arr[0..-2].each_with_index do |buy, i|
arr[(i+1)..-1].each_with_index do |sell, j|
if (sell - buy) > max_profit
best_sell = j + (i + 1)
best_buy = i
max_profit = sell - buy
end
end
end
[best_buy, best_sell]
end
puts stock_picker([17,3,6,9,15,8,6,1,10]).inspect
发布于 2017-03-22 03:47:29
i
和j
表示数组中的索引。这能帮助您理解函数完成时返回的内容吗?(它是否返回值或索引?)
提示:在构建更有效的解决方案时,它如何帮助您跟踪到目前为止的最低购买价格?
https://stackoverflow.com/questions/42923994
复制相似问题