https://medium.com/@shaliniduttaofficial/conquering-data-structures-and-algorithms-for-interviews-e0a8a28b9b64