This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Techniques

Solutions organized by algorithmic techniques and problem-solving strategies

Collection of LeetCode solutions categorized by fundamental algorithmic techniques:

  • Two Pointers
  • Binary Search
  • Binary Search on the Answer
  • Binary Search on Float Number + Ternary Search
  • Greedy
  • Recursion + Backtracking
  • Divide and Conquer

1 - Two Pointers

Solutions that utilize the two pointers technique

Problems that demonstrate the effective use of two pointers technique to solve algorithmic challenges. This technique is particularly useful for array and string problems where we need to find pairs or process elements from both ends.

2 - Binary Search

Solutions that utilize the binary search algorithm

Problems that demonstrate the effective use of binary search algorithm to solve algorithmic challenges. This technique is used to efficiently search for elements in sorted arrays or to find optimal values in monotonic search spaces.

3 - Binary Search on the Answer

Solutions that utilize binary search to find the optimal answer

Problems that demonstrate the effective use of binary search technique to find the optimal answer in the solution space.

4 - Binary Search on Float & Ternary Search

Solutions that utilize binary search on float numbers and ternary search

Problems that demonstrate the effective use of binary search on floating-point numbers and ternary search techniques to solve algorithmic challenges.

5 - Greedy

Solutions that utilize greedy algorithms

Problems that demonstrate the effective use of greedy algorithms and techniques to solve algorithmic challenges.

6 - Recursion + Backtracking

Solutions that utilize recursion and backtracking techniques

Problems that demonstrate the effective use of recursion and backtracking techniques to solve algorithmic challenges.

7 - Divide and Conquer

Solutions that utilize divide and conquer algorithms

Problems that demonstrate the effective use of divide and conquer algorithms to solve algorithmic challenges.