Arrays

problems

Strengthen your basics with arrays, the foundation of data structures, and solve problems on searching, sorting, and manipulation.

0/118
Backtracking

problems

Learn to explore all possible solutions efficiently using recursion and pruning techniques, essential for solving puzzles, mazes, and combinatorial problems.

0/57
Binary

Search problems

Master this efficient searching algorithm that divides the search space in half, enabling fast lookups in sorted data structures.

0/12
Binary

Trees problems

Delve into hierarchical structures and recursive problem-solving with binary trees, a key concept in many coding interviews.

0/89
Bit

Manipulation problems

Optimize your problem-solving skills with bitwise operations, an essential technique for solving numerical and encoding problems efficiently.

0/18
BST

problems

Build a strong foundation in searching and sorting techniques, the core of many efficient algorithms in data structures.

0/51
Design

problems

Learn to create scalable, efficient, and user-friendly systems by applying principles of software architecture, object-oriented design, and system design patterns.

0/6
Dynamic

Programming problems

Learn to break down complex problems into smaller overlapping subproblems and optimize solutions using memoization and tabulation techniques.

0/147
Graphs

problems

Explore the power of graphs in solving real-world problems like shortest paths, network flows, and connectivity using BFS, DFS, and advanced algorithms.

0/131
Greedy

problems

Master the art of making optimal local choices to arrive at a global solution, a widely used approach in optimization problems.

0/64
Hash

Table problems

Explore this powerful data structure that enables fast lookups, insertions, and deletions using key-value mapping and efficient hashing techniques.

0/3
Heap

problems

Dive into priority queues and efficient sorting with heaps, a key data structure for optimizing performance in scheduling and searching problems.

0/61
Linked

List problems

Understand the intricacies of pointers and memory management with linked lists, essential for mastering efficient insertions, deletions, and traversals.

0/84
Mathematical

problems

Apply fundamental mathematical concepts like number theory, combinatorics, and algebra to solve computational problems efficiently.

0/14
Matrix

problems

Solve multi-dimensional problems using matrices, a key topic in pathfinding, dynamic programming, and linear algebra.

0/12
Recursion

problems

Solve complex problems by breaking them into smaller subproblems, using functions that call themselves to achieve elegant and efficient solutions.

0/5
Searching

& Sorting problems

Build a strong foundation in searching and sorting techniques, the core of many efficient algorithms in data structures.

0/67
Segment

Trees problems

Efficiently solve range queries and updates on large datasets using segment trees, a fundamental data structure in competitive programming.

0/6
Sliding

Window problems

Optimize iterative problems on arrays and strings by using a dynamic window to efficiently track subsets and improve performance.

0/1
Stacks

& Queues problems

Master the fundamentals of Last-In-First-Out (LIFO) and First-In-First-Out (FIFO) data structures, crucial for solving problems related to recursion, scheduling, and backtracking

0/80
Strings

problems

Work with one of the most common data types and solve problems related to pattern matching, text processing, and compression.

0/78
Tries

problems

Learn the trie data structure, a powerful tool for fast searching, auto-completion, and dictionary-based problems.

0/18
Two

Pointer problems

Use two strategically placed pointers to efficiently solve problems involving searching, sorting, and pairwise comparisons in arrays and strings.

0/4