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
- Unit 1: Introduction to Hash Maps
- First Repeating Element
- Nearby Duplicates
- Sum Pairs from Two Arrays
- Grouping Anagrams with Hash Maps
- Counting Pairs with Difference K
- Unit 2: Heaps and Priority Queues
- Top K Frequent Elements
- Finding the K Shortest Strings
- Sort by Median Difference
- Finding Medians in a Stream
- Unit 3: Advanced Graph Algorithms
- Counting Connected Components
- Dijkstra's Algorithm on a Grid
- Implementing Dijkstra's Algorithm in Kotlin
- Shortest Path Between Airports with Dijkstra
- Longest Path in a Directed Acyclic Graph
- Finding Efficient Friend Introductions
- Grid Pathfinding with Dijkstra's Algorithm
- Unit 4: String Searching Algorithms
- Pattern Searching in Multiple Strings with KMP
- Maximum Substring Occurrences
- Counting Palindromic Substrings of Fixed Length
- Longest Common Prefix
- Unit 5: Bit Manipulation Techniques
- Checking if a Number is a Power of Two
- Find Lone Set Bit
- Counting Unset Bits
- Swap Odd and Even Bits
- Counting Different Bits