Skip to content

ohjames/studying_leetcode

Repository files navigation

studying_leetcode

Notes for technical interview

Setup

We will actually start with specific data structures and break into patterns via Data structures/algorithm tech handbook and then using Neetcode as hollistic reference. Then we will add Neetcode afterwards. A master list of all the leetcode problems completed and organized afterwards by data structures.

Problem List

Arrays

LeetCode Number Problem Difficulty
1 Two Sum ${\color{green}Easy}$
121 Best Time to Buy and Sell Stock ${\color{green}Easy}$
238 Product of Array Except Self ${\color{orange}Medium}$
53 Maximum Subarray ${\color{orange}Medium}$
242 Valid Anagram ${\color{green}Easy}$
125 Valid Palindrome ${\color{green}Easy}$
3 Longest Substring Without Repeating Characters ${\color{orange}Medium}$
217 Contains Duplicate ${\color{green}Easy}$
152 Maximum Product Subarray ${\color{orange}Medium}$
33 Search in Rotated Sorted Array ${\color{orange}Medium}$
15 3Sum ${\color{orange}Medium}$
11 Container with Most Water ${\color{orange}Medium}$
239 Sliding Window Maximum ${\color{Red}Hard}$
424 Longest Repeating Character Replacement ${\color{orange}Medium}$
438 Find All Anagrams in a String ${\color{orange}Medium}$
76 Minimum Window Substring ${\color{Red}Hard}$
49 Group Anagrams ${\color{orange}Medium}$
5 Longest Palindromic Substring ${\color{orange}Medium}$
271 Encode and Decode Strings ${\color{orange}Medium}$

Hash Tables

LeetCode Number Problem Difficulty
1 Two Sum ${\color{green}Easy}$
383 Ransom Note ${\color{green}Easy}$
49 Group Anagrams ${\color{orange}Medium}$
41 First Missing Positive ${\color{Red}Hard}$
146 LRU Cache ${\color{orange}Medium}$
432 All O' one Data Structure ${\color{Red}Hard}$

Recursion

LeetCode Number Problem Difficulty
22 Generate Parenthesis ${\color{orange}Medium}$
77 Combinations ${\color{orange}Medium}$
78 Subsets ${\color{orange}Medium}$
17 Letter Combinations of a Phone Number ${\color{orange}Medium}$
90 Subsets II ${\color{orange}Medium}$
46 Permutations ${\color{orange}Medium}$
37 Sudoku Solver ${\color{Red}Hard}$
247 Strobogrammatic Number II ${\color{orange}Medium}$

Sorting and Searching

LeetCode Number Problem Difficulty
704 Binary Search ${\color{green}Easy}$
33 Search in Rotated Sorted Array ${\color{orange}Medium}$
378 Kth Smallest Element in a Sorted Matrix ${\color{orange}Medium}$
74 Search a 2D Matrix ${\color{orange}Medium}$
215 Kth Largest Element in an Array ${\color{orange}Medium}$
153 Find Minimum in Rotated Sorted Array ${\color{orange}Medium}$
4 Median of Two Sorted Arrays ${\color{Red}Hard}$

Matrices

LeetCode Number Problem Difficulty
73 Set Matrix Zeroes ${\color{orange}Medium}$
54 Spiral Matrix ${\color{orange}Medium}$
48 Rotate Image ${\color{orange}Medium}$
36 Valid Sudoku ${\color{orange}Medium}$

Linked Lists

LeetCode Number Problem Difficulty
206 Reverse Linked List ${\color{green}Easy}$
141 Linked List Cycle ${\color{green}Easy}$
21 Merge Two Sorted Lists ${\color{green}Easy}$
23 Merge K Sorted Lists ${\color{Red}Hard}$
19 Remove Nth Node from End of List ${\color{orange}Medium}$
143 Reorder List ${\color{orange}Medium}$

Queue

LeetCode Number Problem Difficulty
225 Implement Stack Using Queues ${\color{green}Easy}$
232 Implement Queue Using Stacks ${\color{green}Easy}$
622 Design Circular Queue ${\color{orange}Medium}$
362 Design Hit Counter ${\color{orange}Medium}$

Stacks

LeetCode Number Problem Difficulty
20 Valid Parentheses ${\color{green}Easy}$
232 Implement Queue Using Stacks ${\color{green}Easy}$
225 Implement Stack Using Queues ${\color{green}Easy}$
155 Min Stack ${\color{orange}Medium}$
735 Asteroid Collision ${\color{orange}Medium}$
150 Evaluate Reverse Polish Notation ${\color{orange}Medium}$
224 Basic Calculator ${\color{Red}Hard}$
227 Basic Calculator II ${\color{orange}Medium}$
739 Daily Temperatures ${\color{orange}Medium}$
42 Trapping Rain Water ${\color{Red}Hard}$
84 Largest Rectangle in Histogram ${\color{Red}Hard}$

Intervals

LeetCode Number Problem Difficulty
56 Merge Intervals ${\color{orange}Medium}$
57 Insert Interval ${\color{orange}Medium}$
435 Non-Overlapping Intervals ${\color{orange}Medium}$
252 Meeting Rooms ${\color{green}Easy}$
253 Meeting Rooms II ${\color{orange}Medium}$

Trees

LeetCode Number Problem Difficulty
104 Maximum Depth of Binary Tree ${\color{green}Easy}$
226 Invert Binary Tree ${\color{green}Easy}$
235 Lowest Common Ancestor of a Binary Search Tree ${\color{orange}Medium}$
100 Same Tree ${\color{green}Easy}$
124 Binary Tree Maximum Path Sum ${\color{Red}Hard}$
102 Binary Tree Level Order Traversal ${\color{orange}Medium}$
236 Lowest Common Ancestor of a Binary Tree ${\color{orange}Medium}$

Graphs

LeetCode Number Problem Difficulty
200 Number of Islands ${\color{orange}Medium}$
733 Flood Fill ${\color{green}Easy}$
542 01 Matrix ${\color{orange}Medium}$

Heaps

LeetCode Number Problem Difficulty
23 Merge k Sorted Lists ${\color{Red}Hard}$
973 K Closest Points to Origin ${\color{orange}Medium}$

Tries

LeetCode Number Problem Difficulty
208 Implement Trie (Prefix Tree) ${\color{orange}Medium}$

Dynamic Programming

LeetCode Number Problem Difficulty
70 Climbing Stairs ${\color{green}Easy}$
322 Coin Change ${\color{orange}Medium}$
198 House Robber ${\color{orange}Medium}$
300 Longest Increasing Subsequence ${\color{orange}Medium}$

Patterns

1. Two Pointers

  1. Introduction

2. Fast & Slow Pointers

  1. Introduction

3. Sliding Window

  1. Introduction

4. Merging Intervals

1. Introduction

5. Cyclic Sort

  1. Introduction

6. In-Place Reversal of a Linked List

  1. Introduction

7. Stack

  1. Introduction

8. Monotonic Stack

  1. Introduction

9. Hash Maps

  1. Introduction

10. Tree Breadth First Search

  1. [Introduction]

11. Tree Depth First Search

  1. [Introduction]

12. Graphs

13. Island (Matrix Traversal)

14. Two Heaps

15. Subsets

16. Modified Binary Search

17. Bitwise XOR

18. Top 'K' Elements

19. K-Way Merge

20. Greedy Algorithms

21. 0/1 Knapsack (Dynamic Programming)

22. Backtracking

23. Trie

24. Topological Sort (Graph)

25. Union Find

26. Ordered Set

27. Multi-Thread

About

Notes for technical interview

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages