Sliding Window Algorithm

The sliding window algorithm is a technique used to solve problems that involve finding a subset of data that meets a certain criteria. The subset of data is usually a contiguous set of elements from an array or string. The basic idea of the sliding window technique is to keep a small subset of data (the “window”) in memory and process it in a sequential manner, moving the window through the data to process all the elements efficiently.
Read more →

Two Pointers Algorithm

Two pointers algorithm is a widely used technique in computer programming for solving various problems that involve traversing data structures such as arrays and linked lists. The key idea behind the two pointers algorithm is to maintain two pointers that traverse the data structure in opposite or same directions, depending on the problem at hand, and update the pointers based on specific conditions until a desired result is found or the end of the data structure is reached.
Read more →

Big O Notation

Big O notation is a way of measuring the complexity of an algorithm, which is a set of instructions used to perform a task. It is a way of expressing how long an algorithm takes to run, based on the size of the input. The “O” in Big O notation stands for “order of.” It is used to describe the upper bound of an algorithm’s running time. For example, an algorithm with a running time of O(n) means that the running time grows at most linearly with the size of the input (n).
Read more →