Developer Learning Wiki
  • About
  • DSA
    • Overview
    • Data Structures
    • Algorithms
    • Problems
  • System Design
    • Overview
  • Technical Blogs
    • Overview
  1. Data Structures & Algorithms
  2. Practice Problems
  • Data Structures & Algorithms
    • Practice Problems
      • Binary Search in Reversed Sorted Array
      • Two Sum
      • Valid Parentheses
      • Climbing Stairs
      • Longest Substring Without Repeating Characters
    • Data Structures
      • Queue
    • Algorithms
      • Binary Search
      • Kadane’s Algorithm

On this page

  • Practice Problems
    • We will be following on some list of problems from :
    • Problem-Solving Tips
    • Practice Resources
      • Online Platforms
      • Problem Categories to Master
  1. Data Structures & Algorithms
  2. Practice Problems

Practice Problems

Practice Problems

A collection of DSA problems with solutions and explanations.

We will be following on some list of problems from :

  1. Neetcode 150
  2. Some Leetcode Lists :
    • Graphs List
    • Recursion List
    • Trees List
    • Dynamic Programming List
      • Classic DP
      • Linear DP
      • Knapsack DP
      • DP on Grids
      • DP on Digits
      • DP on Maths
      • DP on Strings
      • DP on Trees & Graphs
      • DP on Bit Manipulation
    • Binary Search List
    • Heaps, Array, String List

Problem-Solving Tips

Before Starting
  1. Understand the problem: Read carefully, identify inputs/outputs
  2. Consider examples: Work through small examples manually
  3. Identify patterns: Look for common algorithmic patterns
  4. Plan your approach: Choose appropriate data structures
  5. Consider edge cases: Empty inputs, single elements, etc.
Common Mistakes
  • Not handling edge cases
  • Incorrect time/space complexity analysis
  • Not optimizing for the specific constraints
  • Overcomplicating simple problems

Practice Resources

Online Platforms

  • LeetCode: 2000+ problems with varying difficulty
  • HackerRank: Good for beginners, company-specific problems
  • Codeforces: Competitive programming, regular contests
  • AtCoder: Japanese platform, good for learning

Problem Categories to Master

  1. Arrays & Strings: Two pointers, sliding window, prefix sums
  2. Linked Lists: Fast/slow pointers, reversing, merging
  3. Trees: DFS/BFS, recursion, tree construction
  4. Graphs: DFS/BFS, shortest paths, topological sort
  5. Dynamic Programming: Memoization, tabulation, state transitions
  6. Binary Search: Finding boundaries, optimization problems

© 2024 • Developer Learning Wiki • About •

Found an error? Please leave a comment here or submit a PR in this repository, thanks!

The best way to predict the future is to invent it.

Alan Kay

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Martin Fowler

First, solve the problem. Then, write the code.

John Johnson

×

🚀 Happy Coding!