Coursera: Data Structures and Algorithms
My Python3 solutions to Course 1 & 2 of the specialization for reference. Later courses in the specialization will be added.
Course 1/Algorithmic Toolbox
Introduction
- Small Fibonacci Number
- Last Digit of a Large Fibonacci Number
- Greatest Common Divisor
- Least Common Multiple
- Huge Fibonacci Number modulo m
- Sum of Fibonacci Numbers
- Partial Sum of Fibonacci Numbers
Greedy Algorithms
- Changing Money
- Maximizing the Value of a Loot
- Maximizing Revenue in Online Ad Placement
- Collecting Signatures
- Maximizing the Number of Prize Places in a Competition
- Maximizing Your Salary
Divide and Conquer
- Implementing Binary Search
- Finding a Majority Element
- Improving Quick Sort
- How Close a Data is To Being Sorted?
- Organizing a Lottery
- Finding the Closest Pair of Points
Dynammic Programming
- Primitive Calculator
- Take as Much Gold as Possible
- Compute the Edit Distance Between Two Strings
- Maximize the Value of an Arithmetic Expression
- Longest Common Subsequence of Three Sequences