October 5, 20257 min read

My Journey Solving 400+ LeetCode Problems: Tips for Beginners

Dhiraj Kumar

Dhiraj Kumar

Software Engineer & Full-Stack Developer

DSALeetCodeCareer GrowthJavaC++

In May 2024, I opened LeetCode for the first time. I stared at Two Sum for 45 minutes before looking at the solution. Eighteen months and 400+ problems later, I can solve most medium problems in 20-30 minutes. This is how I got there.

Phase 1: Building Foundations (0–100 problems)

I started with the wrong approach — jumping into random problems without pattern recognition. After two weeks of frustration, I switched to a structured plan: master one data structure at a time. Arrays → Strings → HashMaps → Linked Lists → Stacks/Queues.

  • Solved 4–5 Easy problems daily for the first month
  • Focused on understanding O(n) vs O(n²) tradeoffs
  • Used NeetCode 150 as my primary resource
  • Wrote down the approach before writing any code

Phase 2: Pattern Recognition (100–200 problems)

This is where the magic happens. I stopped seeing individual problems and started recognizing patterns: sliding window, two-pointer, fast-slow pointer, BFS vs DFS, backtracking templates. I created a Notion database tagging every problem with its pattern.

Phase 3: Medium/Hard & Contests (200–400+)

Started participating in weekly contests. The time pressure is humbling — you learn to think fast. I also began tackling DP systematically: 1D DP → 2D DP → Knapsack variations → LCS → Matrix Chain. For graphs, Dijkstra and Union-Find became second nature.

// My go-to BFS template (solves 90% of graph problems)
function bfs(graph, start) {
  const queue = [start];
  const visited = new Set([start]);
  while (queue.length) {
    const node = queue.shift();
    for (const neighbor of graph[node]) {
      if (!visited.has(neighbor)) {
        visited.add(neighbor);
        queue.push(neighbor);
      }
    }
  }
  return visited;
}

Tips That Actually Work

  1. Solve consistently, not intensely — 2 problems/day beats 14 problems on Sunday
  2. Spend at least 30 minutes stuck before looking at solutions
  3. Re-solve problems you struggled with after 1 week (spaced repetition)
  4. Explain your solution out loud (the Feynman technique)
  5. Track your weak areas — mine were DP and Segment Trees

Resources I Recommend

  • NeetCode 150 (free structured roadmap)
  • Striver's SDE Sheet (great for Indian interview prep)
  • AlgoExpert (paid but worth it for video explanations)
  • LeetCode Discuss section for optimal solutions
Dhiraj Kumar

Dhiraj Kumar

Dhiraj Kumar is a software engineer and full-stack developer interested in modern web technologies, artificial intelligence, automation, and agentic systems. Through his portfolio and technical writing, he explores practical approaches to building reliable software and AI-powered applications.

Enjoyed this article? Let's connect!

Read More Articles