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 HashMaps in Java
- First Repeating Element in String Array
- Detect Nearby Duplicate Indices
- Finding Pairs with Given Sum
- Finding Anagrams in a List of Strings
- Counting Pairs with Given Difference
- Lesson 2: Heaps and Priority Queues in Java
- Finding K Most Frequent Elements Using PriorityQueue in Java
- Find K Shortest Strings in a List
- Sort Integers by Absolute Difference from Median
- Finding Median of Streaming Integers
- Lesson 3: Advanced Graph Algorithms Using Java
- Counting Connected Components in an Undirected Graph
- Shortest Path in Grid using Dijkstra’s Algorithm
- Topological Sort of a Directed Acyclic Graph
- Dijkstra's Algorithm for Shortest Path in a Flight Map
- Longest Path in a Directed Acyclic Graph
- Finding an Efficient Path to Introductions in a Social Network
- Finding the Shortest Path in a Grid
- Lesson 4: String Searching Algorithms in Java
- String Pattern Matching using KMP Algorithm
- Max Substring Occurrences Algorithm in Java
- Counting Palindromic Substrings
- Longest Common Prefix Algorithm
- Lesson 5: Bit Manipulation Techniques in Java
- Check if a Number is a Power of Two Using Bit Manipulation
- Find the Position of the Lone Set Bit
- Counting Unset Bits in a 32-bit Integer
- Swap Every Pair of Odd and Even Bits
- Calculating Bit Differences Between Integers