Sha256: eb302a232d79858422ea43136346b8019b51f1ecbd4dc3a59483f47332206bec

Contents?: true

Size: 471 Bytes

Versions: 220

Compression:

Stored size: 471 Bytes

Contents

object Series {
  private def digits(s: String): List[Int] = s.map(c => c.asDigit).toList

  private def slices(n: Int, s: String): List[List[Int]] = {
    assert(n >= 0, "slice length must be non-negative")
    digits(s).tails.filter(xs => xs.length >= n).map(xs => xs.take(n)).toList
  }

  def largestProduct(n: Int, s: String): Option[Int] =
    slices(n, s) match {
      case Nil => None
      case xs => Some(xs.map(slice => slice.foldLeft(1)(_ * _)).max)
    }
}

Version data entries

220 entries across 220 versions & 1 rubygems

Version Path
trackler-2.2.1.2 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.1.1 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.1.0 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.6 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.5 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.4 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.3 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.2 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.1 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.2.0.0 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.55 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.54 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.53 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.52 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.51 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.50 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.49 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.48 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.47 tracks/scala/exercises/largest-series-product/example.scala
trackler-2.1.0.46 tracks/scala/exercises/largest-series-product/example.scala