Programming Problems Categories

Discover a wide range of problems organized by programming concepts, topics, and difficulty levels. Explore curated challenges that strengthen your understanding of algorithms, data structures, and real-world coding scenarios — helping you sharpen your skills where it matters most.

All Categories (12 total)

Show:

Array

Master array manipulation techniques including traversal, searching, sorting, and transformation. Learn to efficiently work with collections of elements, handle multi-dimensional arrays, and solve common array-based algorithmic challenges.

70 problems

Binary Search

Dive into the divide-and-conquer approach of binary search algorithms. Learn to efficiently search sorted datasets, find boundaries, and solve optimization problems with logarithmic time complexity.

13 problems

Dynamic Programming

Unlock the power of dynamic programming to solve complex problems by breaking them into overlapping subproblems. Master memoization, tabulation techniques, and optimization strategies for recursive algorithms.

16 problems

Graph

Explore graph theory fundamentals and advanced algorithms. Work with vertices and edges to solve problems involving traversal (BFS/DFS), shortest paths, minimum spanning trees, and network flow optimization.

5 problems

Hash Table

Leverage hash tables for O(1) average-case lookups and insertions. Learn collision resolution, hash function design, and practical applications like caching, counting frequencies, and detecting duplicates.

1 problem

Java

Hands-on Java problems to build confidence with OOP, collections, and backend-style tasks.

6 problems

Python

Problems that focus on Python fundamentals, idiomatic patterns, and everyday scripting use cases.

6 problems

Sliding Window

Master the sliding window technique for efficient substring and subarray problems. Learn fixed and variable-size window algorithms to solve problems in linear time complexity.

1 problem

Sorting

Deep dive into sorting algorithms from basic to advanced. Understand comparison-based sorts, counting/bucket sorts, and stability. Apply sorting as a preprocessing step to optimize complex problems.

23 problems

Stack

Understand LIFO (Last-In-First-Out) data structure and its applications. Solve problems involving parenthesis matching, expression evaluation, backtracking, and monotonic stack patterns.

4 problems

String

Master string manipulation, pattern matching, and text processing algorithms. Learn about string searching (KMP, Rabin-Karp), palindromes, anagrams, and efficient string transformations.

7 problems

Tree

Explore hierarchical tree data structures including binary trees, BSTs, AVL trees, and heaps. Master traversal techniques, tree construction, path problems, and tree-based optimization algorithms.

2 problems