https://medium.com/@genotechies/you-will-face-this-problem-on-your-next-tech-interview-2-97babe10a56d