Minimum Cost For Tickets LeetCode solution in JavaScript
1var mincostTickets = function (days, costs) {2let store = {};3for (let i of days) {4store[i] = true;5}6let lastDay = days[days.length - 1];7let dp = new Array(days[days.length - 1] + 1).fill(Infinity);8dp[0] = 0;910for (let i = 1; i < days[days.length - 1] + 1; i++) {11if (!store[i]) {12dp[i] = dp[i - 1];13continue;14}15dp[i] = costs[0] + dp[i - 1];16dp[i] = Math.min(costs[1] + dp[Math.max(i - 7, 0)], dp[i]);17dp[i] = Math.min(costs[2] + dp[Math.max(i - 30, 0)], dp[i]);18}1920return dp[lastDay];21};