Coursera Algorithms Part 2 Solutions