27
27
## Background
28
28
29
29
This list is intended to be used as a study guide for any individual wanting to
30
- improve their problem solving skills for Software Engineering interviews. It
31
- separates problems into their subtopic, so you can focus on a specific approach
32
- over a range of difficulties .
30
+ improve their problem solving skills for Software Engineering interviews.
31
+ Problems are seperated under their respective subtopic, so you can focus on
32
+ learning specific patterns rather than randomly tackling questions .
33
33
34
34
All questions are available on [ leetcode.com] with some requiring [ leetcode premium] .
35
35
@@ -62,11 +62,15 @@ In addition, you should have a good grasp on common algorithms such as:
62
62
## Java Syntax Notes
63
63
64
64
This [ pdf] contains useful information for the built-in data structures in Java.
65
+ Other useful Java methods include ` substring() ` , ` toCharArray() ` , ` Math.max() ` ,
66
+ ` Math.min() ` , and ` Arrays.fill() ` , or in your chosen language.
65
67
66
68
## Question List
67
69
68
70
### Pattern: Sliding Window
69
71
72
+ The sliding window approach can be found under ` 1. Sliding Window ` [ here] .
73
+
70
74
#### Medium:
71
75
72
76
1 . Minimum Size Subarray Sum: https://leetcode.com/problems/minimum-size-subarray-sum/
@@ -85,6 +89,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
85
89
86
90
### Pattern: Two Pointers
87
91
92
+ The two pointer approach can be found under ` 2. Two Pointers or Iterators ` [ here] .
93
+
88
94
#### Easy:
89
95
90
96
1 . Two Sum: https://leetcode.com/problems/two-sum/
@@ -107,6 +113,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
107
113
108
114
### Pattern: Fast & Slow Pointers
109
115
116
+ The fast & slow pointer approach can be found under ` 3. Fast and Slow pointers ` [ here] .
117
+
110
118
#### Easy:
111
119
112
120
1 . Linked List Cycle: https://leetcode.com/problems/linked-list-cycle/
@@ -123,6 +131,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
123
131
124
132
### Pattern: Merge Intervals
125
133
134
+ The merge interval approach can be found under ` 4. Merge Intervals ` [ here] .
135
+
126
136
#### Easy:
127
137
128
138
1 . Meeting Rooms: https://leetcode.com/problems/meeting-rooms
@@ -160,6 +170,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
160
170
161
171
### Pattern: In-place Reversal of a Linked List
162
172
173
+ The in-place reveral technique can be found under ` 6. In-place reversal of linked list ` [ here] .
174
+
163
175
#### Easy:
164
176
165
177
1 . Reverse Linked List: https://leetcode.com/problems/reverse-linked-list/
@@ -177,6 +189,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
177
189
178
190
### Pattern: Tree Breadth First Search
179
191
192
+ The tree BFS technique can be found under ` 7. Tree BFS ` [ here] .
193
+
180
194
#### Easy:
181
195
182
196
1 . Binary Tree Level Order Traversal II: https://leetcode.com/problems/binary-tree-level-order-traversal-ii/
@@ -196,6 +210,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
196
210
197
211
### Pattern: Tree Depth First Search
198
212
213
+ The tree DFS technique can be found under ` 8. Tree DFS ` [ here] .
214
+
199
215
#### Easy:
200
216
201
217
1 . Same Tree: https://leetcode.com/problems/same-tree/
@@ -225,6 +241,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
225
241
226
242
### Pattern: Two Heaps
227
243
244
+ The two heaps approach can be found under ` 9. Two heaps ` [ here] .
245
+
228
246
#### Hard:
229
247
230
248
1 . Find Median from Data Stream: https://leetcode.com/problems/find-median-from-data-stream/
@@ -233,6 +251,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
233
251
234
252
### Pattern: Backtracking
235
253
254
+ The backtracking technique can be found under ` 10. Subsets ` [ here] .
255
+
236
256
#### Easy:
237
257
238
258
1 . Letter Case Permutation: https://leetcode.com/problems/letter-case-permutation/
@@ -260,6 +280,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
260
280
261
281
### Pattern: Modified Binary Search
262
282
283
+ The modified binary search algorithm can be found under ` 11. Modified binary search ` [ here] .
284
+
263
285
#### Easy:
264
286
265
287
1 . Binary Search: https://leetcode.com/problems/binary-search/
@@ -280,6 +302,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
280
302
281
303
### Pattern: Top 'K' Elements
282
304
305
+ The top K element technique can be found under ` 12. Top K elements ` [ here] .
306
+
283
307
#### Medium:
284
308
285
309
1 . Kth Smallest Element in a BST: https://leetcode.com/problems/kth-smallest-element-in-a-bst/
@@ -298,6 +322,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
298
322
299
323
### Pattern: K-Way Merge
300
324
325
+ The k-way merge technique can be found under ` 13. K-way Merge ` [ here] .
326
+
301
327
#### Medium:
302
328
303
329
1 . Kth Smallest Element in a Sorted Matrix: https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/
@@ -310,6 +336,9 @@ This [pdf] contains useful information for the built-in data structures in Java.
310
336
311
337
### Pattern : Dynamic Programming
312
338
339
+ Dynamic programming guides can be found on [ topcoder] and the [ Back To Back SWE
340
+ YouTube channel] .
341
+
313
342
#### Easy:
314
343
315
344
1 . Climbing Stairs: https://leetcode.com/problems/climbing-stairs/
@@ -329,6 +358,8 @@ This [pdf] contains useful information for the built-in data structures in Java.
329
358
330
359
### Pattern: Topological Sort
331
360
361
+ The topological sort algorithm can be found under ` 14. Topological sort ` [ here] .
362
+
332
363
#### Medium:
333
364
334
365
1 . Course Schedule: https://leetcode.com/problems/course-schedule/
@@ -389,6 +420,9 @@ on [14 patterns to ace any coding interview question].
389
420
[ leetcode premium ] : https://leetcode.com/subscribe/
390
421
[ pdf ] : https://drive.google.com/open?id=1ao4ZA28zzBttDkuS6MLQI52gDs_CJZEm
391
422
[ cracking the coding interview ] : http://www.crackingthecodinginterview.com/contents.html
423
+ [ here ] : https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed
424
+ [ topcoder ] : https://www.topcoder.com/community/competitive-programming/tutorials/dynamic-programming-from-novice-to-advanced/
425
+ [ back to back swe youtube channel ] : https://www.youtube.com/watch?v=jgiZlGzXMBw
392
426
[ grokking the coding interview ] : https://www.educative.io/courses/grokking-the-coding-interview
393
427
[ blind 75 list ] : https://www.teamblind.com/article/New-Year-Gift---Curated-List-of-Top-100-LeetCode-Questions-to-Save-Your-Time-OaM1orEU?utm_source=share&utm_medium=ios_app
394
428
[ 14 patterns to ace any coding interview question ] : https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed
0 commit comments