Оптимизация решения для внесения измененийPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Оптимизация решения для внесения изменений

Сообщение Anonymous »

Здесь я написал решение на Python, которое решает следующую проблему: как можно получить заданную сумму денег n с наименьшим количеством монет данного номинала d?

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

def min_coin_change(n, d):
mini = float("inf")
for den in d:
diff = n - den
if diff == 0:
ans = 1
elif diff < 0:
ans = float("inf")
else:
ans = 1 + min_coin_change(n - den, d)
mini = min(mini, ans)
return mini
Хотя мое решение работает, оно занимает очень много времени, когда n больше 50 или когда длина d больше 5 Как я могу ускорить свой код, чтобы он работал со значительно большими входными данными? Я упускаю какой-то трюк или что-то, что могло бы значительно ускорить мой код?

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

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

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

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

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

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

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