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)
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.
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.
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.
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.
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.
Java
Hands-on Java problems to build confidence with OOP, collections, and backend-style tasks.
Python
Problems that focus on Python fundamentals, idiomatic patterns, and everyday scripting use cases.
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.
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.
Stack
Understand LIFO (Last-In-First-Out) data structure and its applications. Solve problems involving parenthesis matching, expression evaluation, backtracking, and monotonic stack patterns.
String
Master string manipulation, pattern matching, and text processing algorithms. Learn about string searching (KMP, Rabin-Karp), palindromes, anagrams, and efficient string transformations.
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.
