8
有沒有人在功能風格中完成了Kadane's algorithm斯卡拉實現?Kadane的算法在斯卡拉
有沒有人在功能風格中完成了Kadane's algorithm斯卡拉實現?Kadane的算法在斯卡拉
這個怎麼樣:
numbers.scanLeft(0)((acc, n) => math.max(0, acc + n)).max
我更喜歡摺疊解決掃描解決方案 - 雖然有肯定的優雅後者。無論如何,
numbers.foldLeft(0 -> 0) {
case ((maxUpToHere, maxSoFar), n) =>
val maxEndingHere = 0 max maxUpToHere + n
maxEndingHere -> (maxEndingHere max maxSoFar)
}._2
'xs.tail.scanLeft(xs.head)((acc,x)=>(acc + x).max(x))max'如果所有可能都是負數。 :d – lcn 2013-12-12 19:39:35