Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1.25 KB

README.md

File metadata and controls

29 lines (21 loc) · 1.25 KB

problem-solving

Solving programming problems

hackerrank leetcode codeforces codingbat

Master the Basics First

Before diving into complex problems, ensure you have a solid understanding of the basic building blocks of problem-solving, such as:

  • Data Structures: Arrays, linked lists, stacks, queues, trees, graphs, hash maps, heaps, tries, etc.
  • Algorithms: Sorting algorithms, searching algorithms (binary search, DFS, BFS), dynamic programming, greedy algorithms, backtracking, etc.
  • Time and Space Complexity: Learn Big-O notation and practice analyzing the time and space complexity of algorithms.

Approach

  1. Read the problem carefully.
  2. Understand the problem.
  3. Identify patterns.
  4. Think of a working solution.
  5. Execute the solution.
  6. Look back.