How to multiply every N consecutive items in a list with Scala

1 Answer

0 votes
def productsNConsecutiveItems(lst: List[Int], n: Int): List[Int] = {
  if (n <= 0 || lst.length < n) Nil
  else lst.sliding(n).map(window => window.product).toList
}

val lst = List(2, 3, 4, 5, 6, 7, 8, 9, 10)
val n = 3


/*
  * Example for n_consecutive_items = 3:
  * 2 * 3 * 4  = 24
  * 3 * 4 * 5  = 60
  * 4 * 5 * 6  = 120
  * 5 * 6 * 7  = 210
  * 6 * 7 * 8  = 336
  * 7 * 8 * 9  = 504
  * 8 * 9 * 10 = 720
*/

println(productsNConsecutiveItems(lst, n))
 
  
  
  
/*
run:
  
List(24, 60, 120, 210, 336, 504, 720)
  
*/

 

 



answered Feb 2 by avibootz

Related questions

...