Solutions for Elements of Programming Interviews