Question d’entretien chez Microsoft

HackerRank Medium question. Solved it with backtracking and memoization.