8
Có ai có triển khai Scala Kadane's algorithm được thực hiện theo phong cách chức năng không?Thuật toán của Kadane trong Scala
Có ai có triển khai Scala Kadane's algorithm được thực hiện theo phong cách chức năng không?Thuật toán của Kadane trong Scala
gì về điều này:
numbers.scanLeft(0)((acc, n) => math.max(0, acc + n)).max
Tôi thích giải pháp gấp với các giải pháp quét - mặc dù có chắc chắn Elegance để sau này. Dù sao,
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' nếu tất cả có thể âm. : D – lcn