Skip to content

Commit d70b44c

Browse files
Sean PrashadSean Prashad
Sean Prashad
authored and
Sean Prashad
committed
Add links to external learning resources
1 parent 8cea669 commit d70b44c

File tree

1 file changed

+37
-3
lines changed

1 file changed

+37
-3
lines changed

README.md

+37-3
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
## Background
2828

2929
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.
3333

3434
All questions are available on [leetcode.com] with some requiring [leetcode premium].
3535

@@ -62,11 +62,15 @@ In addition, you should have a good grasp on common algorithms such as:
6262
## Java Syntax Notes
6363

6464
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.
6567

6668
## Question List
6769

6870
### Pattern: Sliding Window
6971

72+
The sliding window approach can be found under `1. Sliding Window` [here].
73+
7074
#### Medium:
7175

7276
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.
8589

8690
### Pattern: Two Pointers
8791

92+
The two pointer approach can be found under `2. Two Pointers or Iterators` [here].
93+
8894
#### Easy:
8995

9096
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.
107113

108114
### Pattern: Fast & Slow Pointers
109115

116+
The fast & slow pointer approach can be found under `3. Fast and Slow pointers` [here].
117+
110118
#### Easy:
111119

112120
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.
123131

124132
### Pattern: Merge Intervals
125133

134+
The merge interval approach can be found under `4. Merge Intervals` [here].
135+
126136
#### Easy:
127137

128138
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.
160170

161171
### Pattern: In-place Reversal of a Linked List
162172

173+
The in-place reveral technique can be found under `6. In-place reversal of linked list` [here].
174+
163175
#### Easy:
164176

165177
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.
177189

178190
### Pattern: Tree Breadth First Search
179191

192+
The tree BFS technique can be found under `7. Tree BFS` [here].
193+
180194
#### Easy:
181195

182196
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.
196210

197211
### Pattern: Tree Depth First Search
198212

213+
The tree DFS technique can be found under `8. Tree DFS` [here].
214+
199215
#### Easy:
200216

201217
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.
225241

226242
### Pattern: Two Heaps
227243

244+
The two heaps approach can be found under `9. Two heaps` [here].
245+
228246
#### Hard:
229247

230248
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.
233251

234252
### Pattern: Backtracking
235253

254+
The backtracking technique can be found under `10. Subsets` [here].
255+
236256
#### Easy:
237257

238258
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.
260280

261281
### Pattern: Modified Binary Search
262282

283+
The modified binary search algorithm can be found under `11. Modified binary search` [here].
284+
263285
#### Easy:
264286

265287
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.
280302

281303
### Pattern: Top 'K' Elements
282304

305+
The top K element technique can be found under `12. Top K elements` [here].
306+
283307
#### Medium:
284308

285309
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.
298322

299323
### Pattern: K-Way Merge
300324

325+
The k-way merge technique can be found under `13. K-way Merge` [here].
326+
301327
#### Medium:
302328

303329
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.
310336

311337
### Pattern : Dynamic Programming
312338

339+
Dynamic programming guides can be found on [topcoder] and the [Back To Back SWE
340+
YouTube channel].
341+
313342
#### Easy:
314343

315344
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.
329358

330359
### Pattern: Topological Sort
331360

361+
The topological sort algorithm can be found under `14. Topological sort` [here].
362+
332363
#### Medium:
333364

334365
1. Course Schedule: https://leetcode.com/problems/course-schedule/
@@ -389,6 +420,9 @@ on [14 patterns to ace any coding interview question].
389420
[leetcode premium]: https://leetcode.com/subscribe/
390421
[pdf]: https://drive.google.com/open?id=1ao4ZA28zzBttDkuS6MLQI52gDs_CJZEm
391422
[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
392426
[grokking the coding interview]: https://www.educative.io/courses/grokking-the-coding-interview
393427
[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
394428
[14 patterns to ace any coding interview question]: https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed

0 commit comments

Comments
 (0)