- Two Sum (
TestTwoSum.kt) - Hash table, O(n) time - Maximum Subarray Sum (
TestSubSum.kt) - Kadane's algorithm, dynamic programming - Merge Intervals (
TestMergeIntervals.kt) - Sorting, interval merging - Insert Interval (
TestMergeIntervals.kt) - Binary search, interval insertion
- Valid Parentheses (
TestValidParentheses.kt) - Stack data structure - Palindrome Number (
TestPalindrome.kt) - Mathematical approach - Longest Palindromic Substring (
TestPalindrome.kt) - Expand around center - Regular Expression Matching (
TestRegex1.kt) - Dynamic programming, recursion - String Rotation & Substrings (
TestSubstrings.kt) - String manipulation
- Binary Search (
TestBinarySearch.kt) - Classic divide and conquer - Search in Rotated Array (
TestBinarySearch.kt) - Modified binary search - Find Minimum in Rotated Array (
TestBinarySearch.kt) - Binary search variant
- Climbing Stairs (
TestClimbingStairs.kt) - Fibonacci sequence, memoization - Coin Change (
TestClimbingStairs.kt) - Bottom-up DP, optimal substructure - Longest Increasing Subsequence (
TestClimbingStairs.kt) - DP with backtracking
- Binary Tree Traversal (
TestTree.kt) - Inorder, preorder, postorder - Tree Construction (
TestTree.kt) - Building trees from traversals - Tree Serialization (
TestTree.kt) - Converting tree to string representation
- Reverse Linked List (
TestLinked.kt) - Iterative and recursive approaches - Reverse K Groups (
TestLinked.kt) - Advanced linked list manipulation
- Kakuro Solver (
TestKakuro.kt) - Backtracking, combinatorial optimization - Year with Maximum People (
TestYearWithMaxPeople.kt) - Event processing, sweep line
- Two Sum (Array/Hash Table)
- Valid Parentheses (Stack)
- Palindrome Number (Math)
- Binary Search (Binary Search)
- Climbing Stairs (Dynamic Programming)
- Maximum Subarray (Dynamic Programming)
- Longest Palindromic Substring (String)
- Search in Rotated Sorted Array (Binary Search)
- Merge Intervals (Array/Sorting)
- Insert Interval (Array/Binary Search)
- Coin Change (Dynamic Programming)
- Longest Increasing Subsequence (Dynamic Programming)
- Regular Expression Matching (Dynamic Programming/Recursion)
- Kakuro Solver (Backtracking)
- Advanced Tree Operations (Trees/Recursion)
- Two Sum, Maximum Subarray, Merge Intervals, Insert Interval
- Two Sum, Year with Maximum People
- Valid Parentheses
- Binary Tree operations, traversals, serialization
- Reverse operations, K-group reversal
- Palindromes, pattern matching, substring operations
- Palindrome detection, array problems
- Maximum subarray problems
- Search problems, finding minimum/maximum
- Optimization problems, sequence problems
- Combinatorial problems, constraint satisfaction
- Binary search, tree operations
- Interval problems, optimization
- Array access operations
- Binary search variants
- Tree height operations
- Two Sum, Valid Parentheses
- Single pass array algorithms
- Tree traversals
- Merge Intervals (sorting step)
- Efficient sorting algorithms
- Longest Palindromic Substring
- Longest Increasing Subsequence (basic DP)
- Some string matching algorithms
- Backtracking solutions (Kakuro)
- Brute force approaches
- Palindrome Number, Binary Search
- In-place algorithms
- Hash table solutions (Two Sum)
- DP arrays (Climbing Stairs, Coin Change)
- Stack-based solutions
- Recursive tree algorithms
- Call stack space
- Two Sum, Valid Parentheses, Binary Search
- Maximum Subarray, Merge Intervals
- Tree traversals, Dynamic Programming
- String manipulation, Array processing
- Basic data structures, Algorithm optimization
- Efficient search and sort
- Data structure operations
- Optimization algorithms
- Two Sum โ Valid Parentheses โ Binary Search
- Palindrome Number โ Climbing Stairs
- Maximum Subarray โ Tree Traversals
- Merge Intervals โ Search in Rotated Array
- Longest Palindromic Substring โ Coin Change
- Linked List operations โ String algorithms
- Regular Expression Matching
- Complex Dynamic Programming
- Backtracking algorithms (Kakuro)
- Week 1: Arrays and Hash Tables (Two Sum, Maximum Subarray)
- Week 2: Strings and Stacks (Palindromes, Valid Parentheses)
- Week 3: Binary Search variants
- Week 4: Dynamic Programming (Climbing Stairs, Coin Change)
- Week 5: Trees and Linked Lists
- Week 6: Advanced topics (Intervals, Backtracking)
Algorithm Types: binary search, dynamic programming, backtracking, greedy, divide and conquer, two pointers, sliding window
Data Structures: array, hash table, stack, queue, tree, linked list, graph
Problem Types: sorting, searching, optimization, string matching, tree traversal, graph algorithms
Companies: Google, Amazon, Microsoft, Facebook, Apple, Netflix, Uber, Airbnb
Concepts: time complexity, space complexity, big O notation, recursion, iteration, memoization
Interview Prep: coding interview, technical interview, software engineer, computer science, algorithms and data structures