20. Размен монет#
| 🎯 Уровень | 🟠 Middle |
| 🔗 Источник | LeetCode 322 — Coin Change |
| 📊 Сложность | Medium |
| 🏷️ Темы | динамическое программирование |
📝 Условие#
Найдите минимальное количество монет заданных номиналов, чтобы набрать сумму amount, или -1.
Совет
На LeetCode
mainне нужен: данные приходят аргументами метода классаSolution.
Формат ниже — для запуска у себя черезcin/cout.
📥 Входные данные#
В первой строке два числа n и amount (1 ≤ n ≤ 12, 0 ≤ amount ≤ 10⁴). Во второй — n различных номиналов монет.
📤 Выходные данные#
Одно число — минимальное количество монет или -1.
🧪 Тесты#
Тест 1#
Ввод:
3 11
1 2 5
Вывод:
3
Тест 2#
Ввод:
1 3
2
Вывод:
-1
Тест 3#
Ввод:
1 0
1
Вывод:
0
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
Неограниченный рюкзак.