Leetcode logo
Leetcode logo

Link to REPO.

Here, you’ll find problems solved using a variety of data structures, algorithms, and approaches.

Most problems were coded in Java.

Through solving these problems, I have reinforced the knowledge I’ve gained from class, become better able to identify which problem-solving strategy to use, and how to implement it quickly. My favorite techniques are two pointers (binary search included) and backtracking for how versatile they are. I also enjoyed solving problems using tries (for efficient searching) and two priority queues (for optimization subject to a constraint) as there’s something beautiful about their complex elegance.

Data structures

  • Array-backed lists
  • Linked lists
  • Stacks
  • Queues
  • Priority queues
  • Hash sets
  • Hash maps
  • Trees
  • Tries
  • Graphs

Algorithms

  • Sorting
  • Binary search
  • Two pointers
  • Prefix sum
  • Bit manipulation
  • Dynamic programming
  • Backtracking
  • Graph search (BFS, DFS, Dijkstra’s, etc.)

Approaches

  • Brute force
  • Top-down
  • Bottom-up
  • Math

Credits

This repo was made possible by Leetcode-Downloader-for-Submissions for providing an easy-to-use submission extractor.

Copyright: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

Author: Michael Menezes

Posted on: June 21, 2024