Как насчет случаев, когда какое-то значение V не может быть получено?
т.е. у нас есть монеты {5,6,7,8,9}, и мы не можем сделать значения 1,2,3,4. Вы должны инициализировать все значения! = ячейки демонизации в постоянную бесконечности или что-то подобное.
Теперь по той причине, что большинство людей использует O (n ^ 2) памяти:
Эта проблема связана с различными вариантами, наиболее распространенным из которых является то, что вы можете использовать каждую монету только один раз, в этом случае использовать состояние dp [i] [j] - минимальные монеты, которые суммируются с j после рассмотрения первых монет i, кажутся более простыми понять для большинства людей, даже если это можно сделать с помощью O (n) памяти (просто цикл назад)