Cracking The Coding Interview Problems and solutions