Minimum Cost For Tickets LeetCode solution in Python
1class Solution:2def mincostTickets(self, days: List[int], costs: List[int]) -> int:3cost = 04last7 = deque()5last30 = deque()6for day in days:7while last7 and last7[0][0] + 7 <= day:8last7.popleft()9while last30 and last30[0][0] + 30 <= day:10last30.popleft()11last7.append((day, cost + costs[1]))12last30.append((day, cost + costs[2]))13cost = min(cost + costs[0], last7[0][1], last30[0][1])14return cost