Каковы идеи вариаций проблемы с монетой?

//Like 2:46:44 PM should get me 2:30:00 PM, 3:25:33 AM should get me 3:00:00 AM SO on. I could do

var time = new Date();
var mins = time.getMinutes();
var diff = mins % 30;
time.setMinutes(mins - diff);
time.setSeconds(0);
console.log(time);

Вы можете использовать код, как указано выше.

0
задан Abhijit Sarkar 19 January 2019 в 11:04
поделиться

1 ответ

Пусть dp[i][j] обозначает решение [i, j] -ой подзадачи; то есть dp[i][j] - это количество способов внести изменения на сумму i, используя монеты с j по n.

Проблема замены монет с повторением

  • В первом случае предполагается, что была взята одна монета j -ного достоинства. Поскольку нет никаких ограничений на наименования, j может остаться прежним, поэтому он может быть снова использован для меньших подзадач: dp[i - xs[j - 1]][j].

Проблема смены монет без повторения

Это то же самое, что и описанная выше проблема с дополнительным ограничением, что монета некоторого достоинства может быть взята только один раз.

  • В первом случае предполагается, что была взята одна монета j -ного достоинства. Так как мы больше не можем использовать деноминацию j, j меняется на j-1: dp[i - xs[j - 1]][j - 1]

Второй случай одинаков в обеих задачах, где j -я деноминация игнорируется.

0
ответ дан Abhijit Sarkar 19 January 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: