Максимальная прибыль, покупая и продавая акцию ровно k разPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Максимальная прибыль, покупая и продавая акцию ровно k раз

Сообщение Anonymous »

Стоимость облигации на каждый день приведена по ценам массива of n , и мне нужно найти максимальную прибыль, которую я могу получить, покупая и продавая в ровно k транзакции (покупка и продажа, в этом порядке. Не в тот же день. Но я могу продавать, а затем купить в тот же день). (Python): < /p>

Код: Выделить всё

prices = [3, 1, 10]
n = len(prices)

def aux(i, j):
if j == n - 1 or i == 0:
return 0
s = [(prices[j + t] - prices[j]) + aux(i - 1, j + t)
for t in range(1, n - j)]
return max(aux(i, j + 1), max(s)) if s else aux(i, j + 1)

def max_profit(k):
return aux(k, 0)
Но для данного массива в коде и с k = 2 я получаю 9 , когда это должно быть (1 - 3) + (10 - 1) = 7 . Кажется, он получает максимальную прибыль для большинства k транзакций и не совсем K. < /P>

Как это может быть исправлено? < /P>

Подробнее здесь: https://stackoverflow.com/questions/446 ... ly-k-times
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»