dnmanveet / Coursera-Algorithmic-Toolbox

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coursera-Algorithmic-Toolbox

This repository contains all solutions for the course Algorithmic Toolbox offered on Coursera. The assignment solutions are in CPP(mostly) and Java(some part).

Certificate:

Coursera ABWRPCXKQWWF-1

Disclaimer: The below solutions are for reference only. This is all my work.Please design and implement your own algorithms to pass the course.

Week 1- Programming Challenges (PDF)

1.Sum of Two Digits

2.Maximum Pairwise Product

Week 2- Algorithmic Warm-up (PDF)

1.Fibonacci Number

2.Last Digit of a Large Fibonacci Number

3.Greatest Common Divisor

4.Least Common Multiple

5.Fibonacci Number Again

6.Last Digit of the Sum of Fibonacci Numbers

7.Last Digit of the Sum of Fibonacci Numbers Again

8.Last Digit of the Sum of Squares of Fibonacci Numbers

Week 3- Greedy Algorithms (PDF)

1.Money Change

2.Maximum Value of the Loot (Fractional Knapsack)

3.Maximum Advertisement Revenue (Maximum Dot Product)

4.Collecting Signatures (Covering Segments by Points)

5.Maximum Number of Prizes (Different Summands)

6.Maximum Salary (Largest Number)

Week 4- Divide and Conquer (PDF)

1.Binary Search

2.Majority Element

3.Improving QuickSort

4.Inversions

5.Organizing a Lottery

6.Closest Points

Week 5- Dynamic Programming 1 (PDF)

1.Money Change Again

2.Primitive Calculator

3.Edit Distance

4.Longest Common Subsequence of Two Sequence

5.Longest Common Subsequence of Three Sequence

Week 6- Dynamic Programming 2 (PDF)

1.Maximum Amount of Gold

2.Partitioning Souvenirs

3.Maximum Value of an Arithmetic Expression

Contributing

All contributions are welcome. Just make a PR. Below is a list of general improvements that need to be added that I would love help with:

Improve documentation Clean up code (adding docstrings) Better algorithms that reduce time complexity

About


Languages

Language:C++ 52.7%Language:Java 34.5%Language:Python 11.0%Language:Ruby 1.1%Language:Scala 0.8%