я должен найти максимальную сумму элементов в массиве (или их переставляются форма), значение элементов зависит от их позиции в массивеНахождение максимальной суммы элементов данного массива
Алгоритм для нахождения сумма конкретного массива следующим образом
int taste = 0
for (int i= 0; i <= N; i++){
if (p[i]) - p[i-1]) >= 0):
taste += i * (p[i]) - p[i - 1])
else:
taste += i * (p[i - 1] - p[i])
Мое решение было это в Python, но я всегда получаю результат, 0
from itertools import permutations
def sum_permuatations():
t = int(input())
taste = 0
maxTaste = 0
while (t!=0):
t = t-1
lent = input()
lis = input()
for p in permutations(lis, len(lent)):
for i in range(2,len(p)+1):
if (int(p[i]) - int(p[i-1]) >= 0):
taste += i*(int(p[i])-int(p[i-1]))
else:
taste += i*(int(p[i-1])- int(p[i]))
if taste > maxTaste:
maxTaste = taste
return maxTaste
, пожалуйста, помогите мне разрешения ошибки в моих сотрудников де.
'= +' не делает то, что вы думаете. он должен быть '+ ='. –
Почему вы используете цикл while и просто возвращаетесь после одного цикла? –
Я думаю выпуск есть с отступом. Последний возврат должен быть деиндексирован одним шагом. Таким образом, это не должно быть частью цикла while. –