Course Highlights
  • Accelerate your algorithmic thinking
  • Learn to optimise brute force solutions
  • Learn to apply data structures
  • Learn to write complex codes
  • 150+ carefully curated problems
  • Analysis of space-time complexity
  • Using C++ Standard Template Library
  • Become a 10x Problem Solver
  • Sliding Window, Hashing, Maps & Sets
  • Master Dynamic Programming & Graphs
  • BONUS : Build a LRU Cache
  • Practice Questions on all important topics
Curriculum

6 Topics
Course Orientation!
How to do this course?
C++/Java Code Repository!
TA Hours/ Doubt Support Guidelines
Exercise Solutions!
Q/A Section

26 Topics
Introduction
Vector STL - Demo
Vector of Vector - Demo
How to submit coding exercises?
FizzBuzz Test
A Note on Sorting!
Helpful Webinars [Optional]
Pairs
Pairs Code
Triplets
Triplets Code
Mountain
Mountain Code
Longest Band
Longest Band Code
Rains
Rains Code
Subarray Sort
Subarray Sort Code
Minimum Swaps
Minimum Swaps Code
Maximum Subarray Sum
Minimum Difference
Array Products
Busy Life
Arrays & Vectors Quiz!

22 Topics
Strings Introduction
Searching Inside String!
Warm Up - Search All!
Solution : Search All!
Space20
Space20 Implementation
Tokenisation (using sstream)
Tokenisation (using strtok)
Designing our own String Tokeniser!
String Key Sort
String Key Sort Implementation
Check Subsets
Check Subsets Implementation
Sort Subsequences
Sort Subsequences Code
Digital Clock
Biggest Number String
Run Length Encoding
Palindrome Break
String Normalisation
Solution : String Normalisation
Strings Quiz!

15 Topics
Bitwise Operators
Left Shift & Right Shift
Check Odd/Even
Get ith Bit
Set ith Bit
Clear ith Bit
Update ith Bit
Clear last i Bits
Replace Bits Challenge
Two Power
Counting Set Bits
Counting Bits Hack
Fast Exponentiation
Problem - Decimal to Binary
Earth Levels

11 Topics
Sliding Window Introduction
Housing (Two Pointer)
Housing Implementation
Unique Substring (Hashing)
Unique Substring Implementation
String Window
String Window Implementation
Smallest Distinct Window
Sliding Window Maximum
Count Subarrays with Target Sum
Sliding Window Quiz

17 Topics
Merge Sort
Merge Sort Code
Inversion Count
Inversion Count Code
Quick Sort
Quick Sort Code
Quick Select
Quick Select Code
Smallest String
Smallest String Code
Sparse Search
Sparse Search Code
Staircase Search
ICPC Standings
Juggling Balls
Sorting Subarray
Sorting & Searching Quiz

18 Topics
Binary Search - Recap!
Frequency Count
Frequency Count Code-I
Frequency Count Code-II
Rotated Search
Rotated Search Code
Finding Roots
Square Roots Code
Aggressive Cows [Spoj]
Aggressive Cows Code
Min Pairs
Min Pairs Code
Game of Greed
Game of Greed Concept
Solution - Game of Greed
Solution : Game of Greed
Reading Books
Binary Search Quiz

25 Topics
Recursion Recap
Ladders Concept
Ladders Code
Subsequence Based Problems
Subset Sum to X
Subset Sum to X Code
Generate Brackets
Generate Brackets Code
Smart Keypad
Smart Keypad Code
Permutations
Sorted Permutations
N-Queen Problem
N-Queen Code
N-Queen Code
Sudoku
Sudoku Code
Modulo Exponentiation
Sudoku Solver
N-Queen
Game of Coins
Game of coins - Advanced
Rat in a Maze
Longest Possible Route
Recursion Quiz!

18 Topics
Linked List Section Introduction
Warm Up - Search!
Warm Up - Creating a Linked List
Practice - Insertion in the Middle
Recursive Reverse a Linked List
Recursively Reverse a Linked List Code
Iterative Reverse
Iteratively Reverse a Linked List Code
K-Reverse a Linked List
K-Reverse Code
Merge Two Sorted Linked Lists
Merge Two Sorted Linked Lists Code
Runner Technique
Middle Element
K-th Last
Merge Sort on Linked List
Merge Sort Linked List Code
Detect Cycle in a Linked List

14 Topics
Stacks Queue Deque Recap
Balanced Paranthesis
Balanced Paranthesis Code
Redundant Paranthesis
Redundant Paranthesis Code
First Non-Repeating Letter
First Non-Repeating Character
First Non-Repeating Code
Max Subarray (Sliding Window + Deque)
Simplify Path
Simplify Path
Simplify Path Code
Stock Span Problem
Solution : Stock Span

24 Topics
Binary Trees Recap
Build Tree - Boilerplate Code
Level Order Print
Level Order Print Code
Level Order Build
Level Order Build Code
Tree Diameter Concept
Tree Diameter Code
Tree Diameter Optimised Code
Replace with Descendant Sum
Replace with Descendant Sum Code
Height of Tree
Height Balanced Tree Concept
Height Balanced Tree Code
Max Subset Sum Tree
Max Subset Sum Tree Code
Print At LevelK
Nodes at Distance K
Sorted Nodes at Distance K
Nodes at Distance K Code
Vertical Order Print
Vertical Order Print Code
Left View
Siblings Swap!

15 Topics
BST Introduction
BST Creation Recap
Warm Up - BST Search!
Minimum Height BST
Minmum Height BST Code
Closest in BST
Closest in BST Code
Tree to Linked List
Tree 2 Linked List Code
Inorder Successor in BST
Inorder Successor in BST Code
IsBST
Special BST!
LCA
Shortest Tree Path

13 Topics
Heaps - Recap!
Sorting using Heap!
Finding Cabs
Finding Cabs Implementation
Merging Ropes
Merging Ropes Implementation
Running Median
Running Median Implementation
Running Median Class
Merging K-Arrays
Merge K-Sorted Arrays
Merge K-Sorted Arrays Code
Heaps Quiz

18 Topics
Introduction to Hashing
Warm Up-Common Elements
Warm Up - First Repeating Letter!
Triplets in GP | Hashing with Slider
Triplets in GP Implementation
Counting Rectangles | Sets
Counting Rectangles Implementation
Counting Triangles | Unordered Maps
Counting Triangles Implementation
Anagrams in Substrings | Maps
Anagrams in Substrings Implementation
Quick Brown Fox | Hashing with DP
Quick Brown Fox Implementation
Break the chain!
Minimum Bars
Group Anagrams
Longest k-sum Subarray
Hashing Quiz

12 Topics
Tries Introduction
Prefix Trie Implementation
Suffix Trie
Suffix Trie Implementation
Cute Little Cat (Trie + Hashing)
Cute Little Cat Implementation
Biggest XOR (Trie + Bitmasks)
Biggest XOR Implementation
Maximum XOR Pair
Prateek Bhaiya & Googly Strings!
Phone Numbers Search
Tries MCQ Quiz

31 Topics
Graphs Section Introduction
Graphs 10 Cool Applications
Graph Key Terms
Adjacency List Representation
Adjacency List Representation with Node Class
Storing Weighted Graphs
Breadth First Search (BFS)
BFS Code
Shortest Path using BFS
Shortest Path using BFS Code
Snakes & Ladders Game
Solution - Snakes & Ladders
Depth First Search (DFS)
DFS Code
Cycle Detection in Undirected Graphs
Cycle Detection I - Undirected Graph
Solution - Cycle Detection in Undirected Graph
Backedge Detection
Cycle Detection II - Directed Graph
Solution - Cycle Detection in Directed Graph
Dijkshtra's Algorithm
Dijkshtra's Algorithm Code
Board Game (Trie+Backtracking+Graph)
Board Game Implementation
Shortest Grid Path
Solution - Shortest Grid Path
Largest Island
Solution - Largest Island
Astronaut Pairs
Graph Sequence (Graph + DP)
Solution - Graph Sequence

22 Topics
Introduction to Dynamic Programming
A Note about DP
N-K Ladders (3 Approaches)
N-K Ladders Code (Top Down)
N-K Ladders Code (Bottom Up)
Coin Change
Coin Change Code
Cutting Rods Solved!
Min Array Jumps
Min Array Jumps Code
Frog's Min Cost-I
Frog's Min Cost-I Code
Maximum Non Adjacent Sum
Maximum Non Adjacent Sum Code
Longest Increasing Sequence
Longest Increasing Subsequence Code
Box Stacking Problem
Box Stacking Code
Counting Trees
Counting Trees Code
Counting Trees Bottom Up Code
Frog Jump 2 (AtCoder)

21 Topics
Longest Common Subsequence
LCS Top Down
LCS Bottom Up & Print
Selling Wines
Selling Wines - Top Down DP Code
Note about Selling Wines
Selling Wines - Diagonal Table Filling
Selling Wines - Bottom Up DP Code
Counting Subsequences
Counting Subsequences Recursive
Counting Subsequences - Table Filling
Counting Subsequences - Bottom Up
Knapsack Problem
Knapsack Problem Recursive
Knapsack Problem Bottom Up
Coin Change 2
Game of Wits
Mixtures-SPOJ
Edit Distance
Wildcard Pattern Matching
Palindromic Partitioning

6 Topics
LRU Cache Introduction
LRU Data Structure
LRU Code-I
LRU Code - II
LRU Code - III
LRU Code - IV

  Write a Review

Data Structures & Algorithms, Level-up for Coding Interviews

Go to Paid Course