Exercises from Cracking the Coding Interview