Если у вас есть один список целых чисел в Scala, и вы хотите перебрать его, суммировать каждые два соседа с одинаковым значением и вернуть его в виде списка, как один из них сделает это?
Так, например:
List(4, 4, 2, 6) => List(8, 2, 6)
Я совершенно новичок в Scala, но могу представить, что сопоставление с образцом или карта могут быть полезны.
def sumSameNeighbours: List[Int] => List[Int] = {
ls match {
case l1::l2:ls => l1 == l2
}
}
Это то, о чем я могу думать.
РЕДАКТИРОВАТЬ: Как бы мне пришлось изменить код, чтобы выполнять итерацию справа налево, а не слева направо?
Так что, например это было бы:
List(2, 2, 2, 6, 4) => List(2, 4, 6, 4)
вместо
List(2, 2, 2, 6, 4) => List(4, 2, 6, 4)