This repository contains Javascript solutions for Data Structures and Algorithms Specialization. All program assignments can be found inside the course weeks directory.
- 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
- Money Change
- Maximum Value of the Loot
- Car Fueling
- Maximum Advertisement Revenue
- Collecting Signatures
- Maximum Number of Prizes
- Maximum Salary
- Binary Search
- Majority Element
- Improving Quick Sort
- Number of Inversions
- Organizing a Lottery
- Closest Points
- Money Change Again
- Primitive Calculator
- Edit Distance
- Longest Common Subsequence of Two Sequences
- Longest Common Subsequence of Three Sequences
- Check brackets in the code
- Tree height
- Network packet processing simulation
- Stack with maximum
- Maximum in Sliding Window
- Phone Book
- Chaining Simulation
- Find Substring
- Substring Comparison
- Longest Common Substring
- Pattern Matching with Mismatches
- Tree Orders
- Is it a Binary Search Tree?
- Is it a Binary Search Tree? Hard version.
- Set range sum
- Rope string
- Construct a Trie from a Collection of Patterns
- Implement TrieMatching
- Extend TrieMatching
- Suffix Tree
- Shortest Non-Shared Substring
- Burrows-Wheeler Transform
- Reconstruct String from its Burrows-Wheeler Transform
- Implement BetterBWMatching
- Construct Suffix Array of a String
- Find all Occurrences of a Pattern in a String
- Construct Suffix Array of a Long String
- Pattern Matching with the Suffix Array
- Construct a Suffix Tree from a Suffix Array