122 lines
2.5 KiB
Markdown
122 lines
2.5 KiB
Markdown
# Cracking the coding interview exercises and notes
|
|
|
|
If you can't afford to buy the book, you can find a free pdf [here](https://github.com/alxerg/Books-1/blob/master/Cracking%20the%20Coding%20Interview%2C%206th%20Edition%20189%20Programming%20Questions%20and%20Solutions.pdf) (last updated on 2020.10.09).
|
|
|
|
## Introduction
|
|
|
|
1. Big O
|
|
2. Technical questions
|
|
|
|
## Chapter 1 Arrays and strings
|
|
|
|
* check unique characters
|
|
* check if permutation
|
|
* replace character by substring
|
|
* Levenshtein distance
|
|
* String compression
|
|
* Matrix rotation
|
|
* String rotation
|
|
* Hash tables (chapter 7)
|
|
* Magic index (chapter 8)
|
|
* Search in sorted matrix (chapter 10)
|
|
|
|
## Chapter 2 Linked lists
|
|
|
|
* Remove duplicates
|
|
* Return kth to last
|
|
* Delete middle node
|
|
* Partition list
|
|
* Sum lists
|
|
* Check if palindrome
|
|
* Insert node at beginning
|
|
* Insert node at end
|
|
* Reverse list, single and double linked
|
|
* List intersection
|
|
* Loop detection
|
|
|
|
## Chapter 3 Stacks and queues
|
|
|
|
* 3 stacks in array
|
|
* Min function in stack
|
|
* List of stacks
|
|
* Queue via stack
|
|
* Sort stack
|
|
* Animal shelter (enqueue and dequeue with ordering)
|
|
|
|
## Chapter 4 Trees and graphs
|
|
|
|
* Find route between nodes in graph
|
|
* Create minimal binary search tree from array
|
|
* Create a linked list for each depth in the tree
|
|
|
|
## Chapter 5 Bit manipulation
|
|
|
|
* Insert bit
|
|
* Binary to string
|
|
* Flip bit to create longest sequence of 1s
|
|
* (( n & (n-1)) == 0). n=?
|
|
* How many different bits do two numbers have. 11001 vs. 11010 = 2. Levenstein distance
|
|
|
|
## Chapter 6 Math and logic puzzles
|
|
|
|
* Prime numbers
|
|
|
|
## Chapter 7 Object-oriented design
|
|
|
|
* Call center
|
|
* Parking lot
|
|
* Chat server
|
|
* Hash tables
|
|
|
|
## Chapter 8 Recursion
|
|
|
|
* Triple step
|
|
* Robot in grid
|
|
* Magic index (index such that A\[i\] = 1)
|
|
* Power set
|
|
* Permutations of string with unique characters
|
|
* Permutations of string with duplicate characters
|
|
|
|
## Chapter 9 System design and scalability
|
|
|
|
* Stock data
|
|
* Social network
|
|
* Web crawler
|
|
* Duplicate URLs
|
|
* Cache
|
|
* Sales rank
|
|
* Personal finance manager
|
|
|
|
## Chapter 10 Sorting and searching
|
|
|
|
* Sorted merge
|
|
* Anagrams
|
|
* Search in rotated array
|
|
* Sorted search, no size
|
|
* Sorted matrix search
|
|
* Sparse search
|
|
* Sort big file
|
|
* Missing int
|
|
* Find duplicates
|
|
* Sorted matrix search
|
|
* Rank for stream
|
|
|
|
## Chapter 11 Testing
|
|
|
|
* Mistake
|
|
* Random crashes
|
|
* Chess test
|
|
* Test a pen
|
|
* Test an ATM
|
|
|
|
## Chapter 16 Moderate problems
|
|
|
|
* Write an integer in english
|
|
* Contiguous sequence or Maximum subarray
|
|
* Least Recently Used cache
|
|
|
|
## Chapter 18 Advanced topics
|
|
|
|
* Hash table collision resolution
|
|
* Rabin-Karp substring search
|