
Master the two pointers technique to solve array, string, and linked list problems using a start and end pointer, including move zeros to the beginning and the Dutch national flag.
Move all zeros to the end of the array in place using a two-pointer approach that preserves the order of non-zero elements.
Learn to detect a cycle in a linked list using slow and fast pointers, moving at different speeds to determine if they meet and return true when a cycle exists.
Detect cycles in a Python linked list using two pointers. Advance fast by two steps and slow by one, and return true when they meet; otherwise return false.
Master the sliding window pattern for array and string problems by maintaining a window that satisfies constraints, identifying subarrays and substrings of a given size.
Master the max sum subarray of size k by implementing a sliding window with two pointers in Java, maintaining the current sum and updating the maximum as the window slides.
Learn to compute the max subarray sum with a sliding window in Python by maintaining a running sum for fixed size k, updating the max as you shift.
Learn to solve the longest substring with at most two distinct characters using a sliding window, counting chars with a dictionary, shrinking the window and updating max length.
Implement a Java sliding-window solution that tracks character frequencies with a map to maintain at most two distinct chars, updating the max substring length as the left pointer advances.
Implement the longest substring with at most two distinct characters in Python using a sliding window and a frequency dictionary, expanding right, shrinking left as needed, and updating max length.
Explore binary search on a sorted collection, halving the search space with mid and left/right pointers. Learn preprocessing, iterative or recursive approaches, and a future code implementation.
Apply divide and conquer binary search to find a target's index in a sorted array or its insertion position when not found, by target 2 yielding index 1 in Java.
Learn a Python binary search to find the insert position for a target by updating low, high, and mid until the correct index is found.
Explore an efficient technique for overlapping intervals by analyzing two intervals X and Y and merging all overlapping intervals. Apply the merge intervals pattern to related scheduling problems.
Learn how to merge overlapping intervals in Java by sorting by start, expanding to the maximum end, and returning merged intervals such as 1-6, 8-10, 15-18.
Learn how to solve the merge intervals problem in Python by sorting intervals by start, iterating to merge overlapping ranges with the maximum end, and returning the merged list.
Identify the top k elements by using a min-heap to maintain the k most frequent items, count frequencies with a map, and discard the least frequent as new elements arrive.
Learn to solve the top k frequent elements problem in Java by counting occurrences with a map and using a min-heap to extract the k most frequent elements.
Implement top k frequent elements in Python using a heap and a frequency map to count occurrences, push items, and extract the top k keys.
This course is for all those people who want improve their skills in problem solving. In this course I want you to focus on practice because I do believe that it is the better way to master technique for solving coding interview problems. By the end of this course you will be able to identify some coding interview problems so that you can use that pattern to solve it. Thanks!
What will you learn in this course?
You will learn and master 5 Patterns for coding interviews: Solutions in Java & Python
Pattern 1: Two Pointers Techniques
Pattern 2: Sliding Window
Pattern 3: Sorted Array & Binary Search
Pattern 4: Merge Intervals
Pattern 5: Heap & Top K elements
You will improve your problem solving skills
Your instructor, Fred Boundou, Energetic software engineer with 10+ years experience developing robust code for high-volume businesses.
Highly familiar with a wide variety of Software Engineering, Database, Web as well as Data Science.
Progressively engage my experience through my passion for creating application using best practice intuitive experience as focus.
Using my diverse skills set in order to provide a super service that will assist a range of clients...
I have been working for many Big tech companies include (Microsoft, Boeing...)
This means you are learning from someone who has all the professional training, skills,
and experience you need to teach you how to become master of solving interview questions in the fastest possible way.