Рассмотрим этот пример (массив в общем формате):
ls = [0, 1, 3, 6, 10]
Следующие его части:
ls = [0, 1, 3, 6, 10]
ls = [1, 3, 6, 10]
ls = [3, 6, 10]
ls = [6, 10]
ls = [10]
ls = []
Соответствующие суммы (положить вместе в списке): [20, 20, 19, 16, 10, 0]
Функция parts_sums (или ее варианты на других языках) примет в качестве параметра список ls и вернет список сумм его частей, как определено выше.
Я пробовал это, но не выполняется в заданное время выполнения. Как я могу ускорить этот код:
def parts_sums(ls):
sums=[]
if len(ls)==0:
return[0]
else:
while len(ls)!=0:
sums.append(sum(ls))
ls.pop(0)
sums.append(0)
return sums