//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);
Вы можете использовать код, как указано выше.
Пусть 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
-я деноминация игнорируется.