📄️ Arrays
An array is a data structure consisting of a collection of elements.
📄️ Backtracking
A backtracking algorithm is used to construct a solution recursively by starting with an empty solution and adding solution one by one.
📄️ Binary Search
Binary search is the searching strategy that reduces the search space by half every iteration until you have found the target.
📄️ Brute Force
Brute Force is used when the problem size is limited
📄️ Greedy
Designing greedy algorithms to find a greedy strategy that produces an optimal solution to the problem
📄️ Hash Map
Hash Map provides quick lookup of certain values in O(1) time.
📄️ Heap (Priority Queue)
A heap, or a priority queue, is a data structure that efficiently stores elements in a particular order.
📄️ Kadane Algorithm
Kadane 1D algorithm finds the maximum sum subarray in an array of integers. Kadane 2D algorithm finds the maximum sum subarray in a 2D array of integers.
📄️ Linear Search
Linear search is a searching technique that works in a linear / sequential fashion. It traverses whole of the data structure and returns the position(s) where the value is found. If not found then it simple returns nothing.
📄️ Linked List
A linked list is a linear data structure that consists of nodes. Each node stores some data as well as the address of the next node.
📄️ MOD (1e9 + 7)
Mod 1e9+7
📄️ Prefix Sum
Prefix Sum is the sums of prefixes of the input sequence
📄️ Queue & Stack
Stack is the data structure The first item that comes in will be the first to go out.
📄️ Sliding Window
Sliding window is a technique used to solve problems in array or string.
🗃️ Sorting
8 items
📄️ Time Complexity
Time Complexity is one of the important measurements when it comes to writing an efficient solution.
📄️ Trie
A trie or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings.
📄️ Two Pointers
Two Pointers is an effective technique used for searching pairs in a sorted array.