https://code.likeagirl.io/solving-minimum-cost-for-tickets-using-recursive-and-dynamic-programming-approaches-2893ee0db8b8