This repository contains all solutions for the course Algorithmic Toolbox offered on Coursera. The assignment solutions are in C++.
Disclaimer: The below solutions are for reference only. Please design and implement your own algorithms to pass the course.
Week 1- Programming Challenges (PDF)
Sum of Two Digits
Maximum Pairwise Product
Week 2- Algorithmic Warm-up (PDF)
Fibonacci Number
Last Digit of a Large Fibonacci Number
Greatest Common Divisor
Least Common Multiple
Fibonacci Number Again
Last Digit of the Sum of Fibonacci Numbers
Last Digit of the Sum of Fibonacci Numbers Again
Last Digit of the Sum of Squares of Fibonacci Numbers
Week 3- Greedy Algorithms (PDF)
Money Change
Maximum Value of the Loot (Fractional Knapsack)
Maximum Advertisement Revenue (Maximum Dot Product)
Collecting Signatures (Covering Segments by Points)
Maximum Number of Prizes (Different Summands)
Maximum Salary (Largest Number)
Week 4- Divide and Conquer (PDF)
Binary Search
Majority Element
Improving QuickSort
Inversions
Organizing a Lottery
Closest Points
Week 5- Dynamic Programming 1 (PDF)
Money Change Again
Primitive Calculator
Edit Distance
Longest Common Subsequence of Two Sequence
Longest Common Subsequence of Three Sequence
Week 6- Dynamic Programming 2 (PDF)
Maximum Amount of Gold
Partitioning Souvenirs
Maximum Value of an Arithmetic Expression