Ниже приведена грубая сила решения проблемы с минимальной заменой монет. Требуется изменение int, которое требуется для изменения, и массив монетных деноминаций. Он возвращает минимальные монеты, необходимые для внесения этих изменений.Разделите и покорите - Минимальные монеты - Монеты возврата в качестве массива
Как я могу изменить это, чтобы вернуть массив монет?
Например, если требуется внести изменение на 10 центов со значениями [1, 2, 5], он должен вернуть 2 монеты min и массив [0, 0, 2] для двух никелей.
def recMC(coinValueList,change):
minCoins = change
if change in coinValueList:
return 1
else:
for i in [c for c in coinValueList if c <= change]:
numCoins = 1 + recMC(coinValueList,change-i)
if numCoins < minCoins:
minCoins = numCoins
return minCoins
print(recMC([1,5,10,25],63))
Для меня это похоже на задачу с какого-нибудь веб-сайта для решения проблем ([пример] (https://www.codewars.com/kata/knapsack-part-1-the-greedy-solution)), ожидаете ли вы нам написать код для вас? Что вы пробовали? – MaLiN2223