【发布时间】:2017-12-29 10:20:05
【问题描述】:
好的,这是我的理解。
prices.combination(2)-创建一个子数组 [10,11][2,9]....map- 创建一个数组do |buy,sell| [buy, sell, sell-buy]- 这是我感到困惑的第一部分。 |买,卖|对我来说看起来很正常,但是我以前从未见过的以下数组。我写的所有块都类似于价格做|i| i * 2 结束。迭代器后的数组如何工作?
4 .end.max_by - 找出前一次买卖的最大总和??
do |buy, sell, profit| profit- 利润是如何产生的?我们是如何从买卖到盈利的?-
我了解一切都在做什么我只是不了解这种结构。寻找一个好的解释。
a = [10, 11, 2, 9, 4, 3, 5, 6] def max_profit(prices) prices.combination(2).map do |buy, sell| [buy, sell, sell - buy] end.max_by do |buy, sell, profit| profit end end max_profit(a)
【问题讨论】:
-
嗨,Jacob,请重新格式化您的问题。创建一个代码块(缩进四个空格),然后在每一行添加 cmets(ruby 中的
#符号)来扩展您的想法。不管你怎么做,你需要使代码 100% 可读,否则你的问题将开始收到反对票。 -
有人刚刚为我编辑了它,而我正在尝试做同样的事情。对此感到抱歉。
标签: ruby