Я хочу рассчитать сумму абсолютных разностей числа в индексе я со всеми целыми числами до индекса i-1 в o (n). Но я не могу думать ни о каком подходе лучше, чем о (п ^ 2).
Например,
[3,5,6,7,1]
массив с абсолютной суммой будет (для целых чисел при индексе я сумма будет указана в индексе я в другом массиве):
[0, 2, 4, 7, 17]
Может ли кто-нибудь помочь мне уменьшить сложность до o (n) (если это невозможно, то, по крайней мере, лучше оптимизировать с точки зрения временной сложности)?
Здесь мой код python:
a=[3,5,6,7,1]
n=5
absoluteSumArray=[]
for i in range(0,n):
Sum=0
for j in range(0,i):
Sum+=abs(int(a[i])-int(a[j]))
absoluteSumArray.append(Sum)