2727## Background  
2828
2929This 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
3434All 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
6464This [ 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
72761 .  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
90961 .  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
1121201 .  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
1281381 .  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
1651771 .  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
1821961 .  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
2012171 .  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
2302481 .  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
2382581 .  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
2652871 .  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
2853091 .  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
3033291 .  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
3153441 .  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
3343651 .  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