8
Czy ktoś ma implementację Scala Kadane's algorithm wykonaną w stylu funkcjonalnym?Algorytm Kadane'a w Scali
Czy ktoś ma implementację Scala Kadane's algorithm wykonaną w stylu funkcjonalnym?Algorytm Kadane'a w Scali
Co o tym:
numbers.scanLeft(0)((acc, n) => math.max(0, acc + n)).max
wolę rozwiązania składany do rozwiązania skanowania - choć na pewno elegancji do tego ostatniego. W każdym razie,
numbers.foldLeft(0 -> 0) {
case ((maxUpToHere, maxSoFar), n) =>
val maxEndingHere = 0 max maxUpToHere + n
maxEndingHere -> (maxEndingHere max maxSoFar)
}._2
'xs.tail.scanLeft (xs.head) ((wg x) => (wg + x) .max (x)). Max' jeśli wszystkie mogą ewentualnie być ujemne. :RE – lcn