Order and position
Episode 4 Two Pointers
Episode 4Two Pointers
▶ This video is coming to YouTube soon.
The complete guide to two pointers for coding interviews, in Java. The four shapes (both ends, read and write, two arrays, fast and slow) and the rule that says which pointer moves; what each approach costs; the Java template for each; and five traps. Then nine types, each worked as a small problem in full: examples, the brute force animated beside the running line of code, the complete code, every line explained, and the two-pointer solution the same way.
What you'll learn
- Why two pointers turn a double loop into one pass
- Both ends on sorted data: too big moves r, too small moves l
- A palindrome check that skips punctuation, in O(1) space
- Moving the shorter wall: the container with the most water
- 3Sum: sort, fix one number, two pointers on the rest
- Read and write pointers to filter an array in place
- Merging from the back so nothing unread is overwritten
- Three zones to sort 0, 1 and 2 in one pass
- Fast and slow pointers to find a repeat, and trapping rain water from both ends
Chapters
- 0:00Intro
- 0:25Two pointers from both ends
- 1:07Two pointers, same direction
- 1:41Four shapes of two pointers
- 2:27What each approach costs
- 3:02Two pointers in Java
- 3:57Five traps
- 4:38Nine two-pointer types
- 5:22Type 1 · Two numbers in a sorted array
- 10:50Type 2 · Reads the same both ways
- 17:20Type 3 · The biggest container
- 22:51Type 4 · Triplets that add to zero
- 28:55Type 5 · Remove duplicates in place
- 34:33Type 6 · Merge into the first array
- 40:20Type 7 · Sort the three colours
- 46:02Type 8 · The number that repeats
- 52:14Type 9 · How much rain is trapped
- 57:57Spot the type
- 58:41Quiz: which type?
- 59:29Recap
Quiz: test yourself
The 5 questions from the end of the episode. Pick an answer to see why it's right.