epi

Covers all chapters and topics from the "Elements of Programming Interviews" book with their corresponding Leetcode problem links

Chapter 5: Arrays

Topic
Title
Leetcode

5.1

Dutch National Flag

5.2

Increment an arbitrary precision integer

5.3

Multiply two arbitrary precision integers

5.4

Advancing through an array

5.5

Delete duplicates from a sorted array

5.6

Buy and Sell a stock once

5.7

Buy and Sell a stock twice

5.8

Computing an alternation

5.9

Enumerate all primes to n

5.10

Permute the elements of an array

5.11

Compute the next permutation

5.17

The Sudoku checker problem

5.18

Compute the spiral ordering of a 2D array

5.19

Rotate a 2D array

5.20

Compute rows in Pascal's Triangle

Chapter 6: Strings

Topic
Title
Leetcode

6.1

Interconvert strings and integers

6.2

Base conversion

6.3

Compute the spreadsheet column encoding

6.5

Test palindromicity

6.6

Reverse all the words in a sentence

6.7

Compute all mnemonics for a phone number

6.8

The look-and-say problem

6.9

Convert from Roman to decimal

6.10

Compute all valid IP addresses

6.11

Write a string sinusoidally

6.12

Implement run-length encoding

6.13

Find the first occurrence of a substring

Chapter 7: Hash Tables

Topic
Title
Leetcode

7.1

Test for palindromic permutations

7.2

Is an anonymous letter constructible?

7.3

Implement an ISBN cache

7.4

Compute the LCA, optimizing for close ancestors

7.5

Find the nearest repeated entries in an array

7.6

Find the smallest subarray covering all values

7.7

Find smallest subarray sequentially covering all values

7.8

Find the longest subarray with distinct entries

7.9

Find the length of a longest contained interval

7.10

Compute all string decompositions

Chapter 8: Stacks and Queues

Topic
Title
Leetcode

8.1

Implement a stack with max API

8.2

Evaluate RPN expressions

8.3

Test a string over "{,},(,),[,]" for well-formedness

8.4

Normalize pathnames

8.5

Compute buildings with a sunset view

8.6

Compute binary tree nodes in order of increasing depth

8.7

Implement a circular queue

8.8

Implement a queue using stacks

Chapter 9: Binary Trees

Topic
Title
Leetcode

9.1

Test if a binary tree is height-balanced

9.2

Test if a binary tree is symmetric

9.3

Compute the lowest common ancestor in a binary tree

9.4

Compute the LCA when nodes have parent pointers

9.5

Sum the root-to-leaf paths in a binary tree

9.6

Find a root to leaf path with specified sum

9.7

Compute the kth node in an inorder traversal

9.8

Compute the successor

9.9

Implement an inorder traversal without recursion

9.10

Implement a preorder traversal without recursion

9.11

Implement a postorder traversal without recursion

9.12

Compute the right sibling tree

Chapter 10: Heaps

Topic
Title
Leetcode

10.1

Merge sorted files

10.3

Sort an almost-sorted array

10.4

Compute the k closest stars

10.5

Compute the median of online data

10.6

Compute the k largest elements in a max-heap

Chapter 11: Searching

Topic
Title
Leetcode

11.1

Search a sorted array for first occurrence of k

11.2

Search a sorted array for entry equal to its index

11.3

Search a cyclically sorted array

11.4

Compute the integer square root

11.6

Search in a 2D sorted array

11.8

Find the kth largest element

11.10

Find the duplicate and missing elements

Chapter 13: Sorting

Topic
Title
Leetcode

13.1

Compute the intersection of two sorted arrays

Last updated