This course focuses on advanced and popular topics that are commonly encountered in technical interviews. You'll delve into hash tables, heaps, advanced graph algorithms, string searching algorithms, and bit manipulation techniques. Mastering these areas will provide you with a comprehensive skill set to tackle even the toughest coding interview questions.
Overview
Syllabus
- Lesson 1: Introduction to Hash Tables and Unordered Maps in C++
- First Repeating Element
- Finding Distinct Indices in Arrays
- Sum Pairs from Two Arrays
- Find Anagrams in a List of Strings
- Counting Distinct Pairs with Difference k
- Lesson 2: Heaps and Priority Queues in C++
- Finding the K Most Frequent Elements in an Array
- Finding the K Shortest Strings in a List
- Sort by Absolute Difference from Median
- Find Stream Median from Array of Integers
- Lesson 3: Advanced Graph Algorithms: Dijkstra's Algorithm in C++
- Counting Connected Components in an Undirected Graph
- Shortest Path using Dijkstra's Algorithm
- Topological Sort for a Directed Acyclic Graph
- Shortest Path in Flight Map Using Dijkstra's Algorithm
- Longest Path in a Directed Acyclic Graph
- Finding the Shortest Path to a Friend in a Social Network
- Finding the Shortest Path in a Grid
- Lesson 4: String Searching Algorithms in C++
- KMP String Searching Algorithm Implementation
- Max Substring Occurrences
- Count Palindromic Substrings of Given Length
- Longest Common Prefix in C++
- Lesson 5: Bit Manipulation Techniques in C++
- Check if a Number is a Power of Two Using Bit Manipulation
- Find the Position of Lone Set Bit
- Counting Unset Bits in a 32-bit Integer
- Swapping Odd and Even Bits
- Calculate Bit Differences Between Integers