Problem:
Given a list, repeat each element in the list n amount of times.
Solution:
def listReplication(num:Int,arr:List[Int]):List[Int] = {
arr.flatMap(each => (1 to num).map(n => each))
}
Need review.
Code Review Stack Exchange is a question and answer site for peer programmer code reviews. It only takes a minute to sign up.
Sign up to join this communityUse scala.collection.generic.SeqFactory.fill(n:Int)(elem: =>A)
instead of your self written one:
def listReplication(num:Int,arr:List[Int]):List[Int] = {
arr.flatMap(each => List.fill(num)(each))
}
Also note that listReplication is a nice candidate for generics:
def listReplication[A](num:Int,arr:List[A]):List[A] = {
arr.flatMap(each => List.fill(num)(each))
}
That way you can also handle lists that contain something else than Int
.