This online course is designed to help you learn the most commonly asked problems in algorithm interview with tutorials and examples series


An algorithm is a step by step procedure to solve a problem


  • Your local computer should have installed JDK 8+ or OpenJDK 8+, Maven 3+

  • You should have knowledge of Data Structure


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


Divide and Conquer