Cracking the coding interview in Python