https://medium.com/@zeesek/100-days-of-leetcode-problems-in-typescript-combination-sum-problem-12c177d59e15