This guide is designed to help you quickly learn the most commonly asked problems in algorithm interview
An algorithm is a step-by-step procedure to solve a problem
Prerequisites
Your local computer should have installed JDK 8+ or OpenJDK 8+, and Maven 3+
You should have walked through the Data Structure Bootcamp
Array and String
Two Pointers
Use two pointers to walk inward from both ends of a linear collection, such as array or string, to reduce the time complexity of the solution
Sliding Window
Use a sliding window to check a condition while iterating over an array or string
A window is a range of element indices in an array or string. A sliding window is a window that slides its boundaries toward a direction (left/right)
Dynamic Programming
Learn to break a problem into optimal subproblems and use a cache to store the computed results of the solutions to overlapping subproblems