Я не понимаю алгоритм, но я попытался бы сделать пример с моей головой, чтобы понять, как работает код.
Здесь я сделал первую итерацию цикла:
FIRST ITERATION
1) groupeSize = 3, right = 6, left = 0, index = 0,
num = max(0, ((9 - 9 + 9) / 1) + <5.5>)) = 14.5
2) groupeSize = 2, right = 6, left = 1, index = 0,
num1 = max(0, ((9 - 10 + 1 / (0 - 1 + 1)) + <5.5>)) = 5.5
3) groupeSize = 1, right = 6, left = 2, index = 0, avg1 = ((32 - 12 + 2) / (6-2)) = 5.5
Что соответствует сумме среднего [9,1,2], [3], [9, 8]
Каждый 1), 2), ... является рекурсией, и все значения между <>
известны в обратном порядке (при возврате из рекурсии)
Попробуйте продолжить понимать! Удачи!