Solving Problems from http://elementsofprogramminginterviews.com/ with personal notes.