https://medium.com/@mateidanut/the-zen-of-grinding-leetcode-problems-day-5-underestimating-easy-problems-da77b418a7d5