Coursera, Algorithms: Design and Analysis, Part 2, Assignment 2