/EPI-to-LC

Mappings of problems from the book Elements of Programming Interviews (EPI) to Leetcode

Mappings for:

  • Java edition © 2019
  • Python edition © 2019
  • C++ edition © 2018

Study guides for shortened time frames

3 days 7 days 1 month 4 months
C0 C1 C2 C3 C4
4.1 4.7 4.8 4.3, 4.11 4.9
5.1, 5.6 5.12, 5.18 5.2, 5.17 5.5, 5.9 5.3, 5.10, 5.15
6.1 6.2, 6.4 6.5, 6.6 6.7, 6.8 6.9, 6.11
7.1 7.2, 7.3 7.4, 7.7 7.10 7.11
8.1 8.6 8.2, 8.7 8.3, 8.8 8.4
9.1 9.4 9.2, 9.12 9.11 9.13, 9.16
10.1 10.4 10.3 10.5 10.6
11.1 11.4, 11.8 11.3, 11.9 11.5, 11.10 11.6, 11.7
12.2 12.3, 12.5 12.1, 12.5 12.4, 12.6 12.9
13.1 13.2 13.6 13.8, 13.11 13.9
14.1 14.2, 14.3 14.4 14.5, 14.8 14.7
15.1 15.2 15.3 15.4, 15.9 15.6, 15.10
16.1 16.2 16.3, 16.6 16.5, 16.7 16.12
17.4 17.6 17.5 17.7 17.8
18.1 18.7 18.2 18.3 18.5
19.3 19.6 19.8 19.9 20.9
20.13 20.15 20.16 20.1 20.2

Primitive Types

Problem LeetCode
4.1
4.2
4.3 190. Reverse Bits
4.4
4.5
4.6
4.7 50. Pow(x,n)
4.8
4.9 9. Palindrome Number
4.10 470. Implement Rand10() using Rand7() note: book is implement Rand6() with Rand2()
4.11 836. Rectangle Overlap note: book asks to determine overlapping area where it exists

Arrays

Problem LeetCode
5.1 75. Sort Colors
5.2 66. Plus One
5.3
5.4 55. Jump Game
5.5 26. Remove Duplicates from Sorted Array
5.6 121. Best Time to Buy and Sell Stock
5.7 123. Best Time to Buy and Sell Stock III
5.8 280. Wiggle Sort
5.9 204. Count Primes note: book asks to return a list of the primes
5.10
5.11 31. Next Permutation
5.12
5.13
5.14 384. Shuffle an Array
5.15
5.16
5.17 36. Valid Sudoku
5.18 54. Spiral Matrix
5.19 48. Rotate Image
5.20 118. Pascal's Triangle

Strings

Problem LeetCode
6.1 8. String to Integer (atoi) note: book asks for Integer to String (itoa) as well
6.2
6.3 171. Excel Sheet Column Number
6.4
6.5 125. Valid Palindrome
6.6 186. Reverse Words in a String II
6.7 17. Letter Combinations of a Phone Number
6.8 38. Count and Say
6.9 13. Roman to Integer
6.10 93. Restore IP Addresses
6.11
6.12 443. String Compression
6.13 28. Implement strStr()

Linked Lists

Problem LeetCode
7.1 21. Merge Two Sorted Lists
7.2 206. Reverse Linked List
7.3 142. Linked List Cycle II
7.4 160. Intersection of Two Linked Lists
7.5
7.6 237. Delete Node in a Linked List
7.7 19. Remove Nth Node From End of List
7.8 83. Remove Duplicates from Sorted List
7.9 61. Rotate List
7.10 328. Odd Even Linked List note: odd first instead of even
7.11 234. Palindrome Linked List
7.12 86. Partition List
7.13 2. Add Two Numbers

Stacks and Queues

Problem LeetCode
8.1 155. Min Stack note: min instead of max
8.2 150. Evaluate Reverse Polish Notation
8.3 20. Valid Parenthesis
8.4 71. Simplify Path
8.5
8.6 102. Binary Tree Level Order Traversal
8.7 622. Design Circular Queue
8.8 232. Implement Queue using Stacks
8.9

Binary Trees

Problem LeetCode
9.1 110. Balanced Binary Tree
9.2 101. Symmetric Tree
9.3 236. Lowest Common Ancestor of a Binary Tree
9.4
9.5 129. Sum Root to Leaf Numbers
9.6 112. Path Sum
9.7 94. Binary Tree Inorder Traversal note: solve without recursion
9.8 144. Binary Tree Preorder Traversal note: solve without recursion
9.9
9.10
9.11 94. Binary Tree Inorder Traversal note: solve with constant space
9.12 105. Construct Binary Tree from Preorder and Inorder Traversal
9.13 1028. Recover a Tree From Preorder Traversal
9.14
9.15 545. Boundary of Binary Tree
9.16

Heaps

Problem LeetCode
10.1
10.2
10.3
10.4 973. K Closest Points to Origin
10.5 295. Find Median from Data Stream
10.6

Searching

Problem LeetCode
11.1
11.2
11.3 33. Search in Rotated Sorted Array
11.4 69. Sqrt(x)
11.5
11.6 240. Search a 2D Matrix II
11.7
11.8 215. Kth Largest Element in an Array
11.9
11.10

Hash Tables

Problem LeetCode
12.1 266. Palindrome Permutation
12.2 383. Ransom Note
12.3
12.4
12.5
12.6 76. Minimum Window Substring note: strings instead of arrays
12.7 727. Minimum Window Subsequence note: strings instead of arrays
12.8
12.9
12.10
12.11
12.12

Sorting

Problem LeetCode
13.1
13.2 88. Merge Sorted Array
13.3 274. H-Index
13.4
13.5
13.6
13.7 56. Merge Intervals
13.8
13.9
13.10
13.11 148. Sort List
13.12

Binary Search Trees

Problem LeetCode
14.1 98. Validate Binary Search Tree
14.2 285. Inorder Successor in BST
14.3
14.4 235. Lowest Common Ancestor of a Binary Search Tree
14.5
14.6
14.7
14.8 108. Convert Sorted Array to Binary Search Tree
14.9
14.10
14.11

Recursion

Problem LeetCode
15.1
15.2 51. N-Queens
15.3 46. Permutations
15.4 78. Subsets
15.5
15.6 22. Generate Parentheses
15.7 131. Palindrome Partioning
15.8
15.9 37. Sudoku Solver
15.10 89. Gray Code

Dynamic Programming

Problem LeetCode
16.1
16.2 72. Edit Distance
16.3 62. Unique Paths
16.4
16.5
16.6
16.7 140. Word Break II
16.8 120. Triangle
16.9 877. Stone Game
16.10 70 Climbing Stairs
16.11
16.12 300. Longest Increasing Subsequence

Greedy Algorithms and Invariants

Problem LeetCode
17.1
17.2
17.3
17.4 15. 3Sum
17.5 169. Majority Element
17.6 134. Gas Station
17.7 11. Container With Most Water
17.8 84. Largest Rectangle in Histogram

Graphs

Problem LeetCode
18.1 505. The Maze II note: shortest path instead of any path
18.2 733. Flood Fill
18.3 1020. Number of Enclaves
18.4
18.5
18.6
18.7
18.8