Я хочу подсчитать, сколько раз функция f
возвращает каждое значение в своем диапазоне (от 0
до f_max
включительно) при применении к заданному списку l
, и возвращает результат как массив, в Scala.
В настоящее время я выполняю следующее:
def count (l: List): Array[Int] = {
val arr = new Array[Int](f_max + 1)
l.foreach {
el => arr(f(el)) += 1
}
return arr
}
То есть arr(n)
- это количество раз, которое f
возвращает n
при применении к каждому элементу l
. Это работает, однако, это императивный стиль, и мне интересно, есть ли чистый способ сделать это чисто функционально.
Спасибо