ctci/README.md

100 lines
2.1 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](http://ahmed-badawy.com/blog/wp-content/uploads/2018/10/Cracking-the-Coding-Interview-6th-Edition-189-Programming-Questions-and-Solutions.pdf) (Updated as of 2020.03.14).
## 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
## Chapter 10 Sorting and searching
* Sorted matrix search
## 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