Предположим, у вас есть массив значений, который потребуется суммировать вместе
d = [1,1,1,1,1]
и второй массив, определяющий, какие элементы должны суммироваться вместе
i = [0,0,1,2,2]
Результат будет сохранен в новом массиве размером max (i) +1
. Так, например, i = [0,0,0,0,0]
будет эквивалентно суммированию всех элементов d
и сохранению результата в позиции 0
нового массива размером 1
.
Я попытался реализовать это с помощью
c = zeros(max(i)+1)
c[i] += d
. Однако операция + =
добавляет каждый элемент только один раз, что дает неожиданный результат.
[1,1,1]
вместо
[2,1,2]
Как правильно реализовать суммирование такого рода?