Binary search and variations: lower bound, rotated array, answer search
Implement binary search correctly on the first try and apply variations for lower/upper bound, rotated array, and answer search using Java 21.
Implement binary search correctly on the first try and apply variations for lower/upper bound, rotated array, and answer search using Java 21.
Distinguish between three types of test doubles with Java 21, JUnit 5, Mockito and AssertJ examples, plus how to choose the right one and avoid common pitfalls.
Use HashMap to count frequencies, find the most common element, count pairs, and group anagrams — with complexity and common pitfalls.
Explaining Big-O with concrete Java code examples, from O(1) to O(2^n), helping you read code and guess its complexity instantly.
Guide to writing clear, maintainable unit tests with naming conventions, AAA structure, and the right perspective on code coverage.
Learn two pointers and sliding window techniques to solve array/string problems with O(n) complexity, with runnable Java examples.