Chapter 1. Arrays and Strings
1.1 Unique Characters of a String
1.2 Reverse String
1.3 Permutation String
1.4 Replace Spaces
1.5 Compress String
1.6 Rotate Image
1.7 Set Matrix Zeroes
1.8 String Rotation
Chapter 2. Linked Lists
2.1 Remove Duplicates from Unsorted List
2.2 Kth to Last Element of Linked List
2.3 Delete Node in a Linked List
2.4 Partition List
2.5 Add Two Numbers
2.6 Linked List Cycle
2.7 Palindrome Linked List
Chapter 3. Stacks and Queues
3.1 Implement Three Stacks using Array
3.2 Min Stack
3.3 Set of Stacks
3.4 Towers of Hanoi
3.5 Implement Queue using Two Stacks
3.6 Sort Stack
3.7 Adopt Animal
Chapter 4. Trees and Graphs
4.1 Balanced Binary Tree
4.2 Route between Two Nodes in Directed Graph
4.3 Create Minimal Binary Search Tree
4.4 Create List at Each Depth of Binary Tree
4.5 Validate Binary Search Tree
4.6 Find Next Node in a BST
4.7 Lowest Common Ancestor of a Binary Search Tree
4.8 Contain Tree
4.9 All Paths Sum
Chapter 5. Bit Manipulation
5.1 Insert Bits
5.2 Binary Representation of Real Number
5.3 Next Binary Representation
5.4 Explain Expression ((n & (n-1)) == 0)
5.5 Number of Converted Bits
5.6 Swap Odd and Even Bits
5.7 Find Missing Integer
5.8 Draw Horizonatal Line
Chapter 6. Brain Teasers
6.1 Find Heavy Bottle
6.2 Dominos on Chess Board
6.3 Water Jug
6.4 Blue Eyes People on Island
6.5 Drop Eggs
6.6 Toggle Lockers
Chapter 7. Mathematics and Probability
7.1 Basketball Shooting Game
7.2 Ants on Polygon
7.3 Line Intersection
7.4 Implement Multiply Subtract and Divide
7.5 A Line Cut Two Squares in Half
7.6 The Line Passes the Most Number of Points
7.7 The Number with Only Prime Factors
Chapter 8 Object-Oriented Design
8.1 Implement Blackjack
8.2 Call Center
8.3 Musical Jukebox
8.4 Parking Lot
8.5 Online Book Reader System
8.6 Jigsaw Puzzle
8.7 Chat Server
8.8 Othello Game
8.9 An In-memory File System
8.10 Implement a Hash Table
Chapter 9. Recursion and Dynamic Programming
9.1 Climbing Staircase
9.2 Robot Moving
9.3 Magic Index
9.4 Subsets
9.5 Permutations
9.6 Generate Parentheses
9.7 Paint Fill
9.8 Represent N Cents
9.9 Eight Queens
9.10 Stack Boxes
9.11 Parenthesize the Expression
Chapter 10. Scalability and Memory Limits
10.1 Client-facing Service
10.2 Data Structures for Large Social Network
10.3 Integer not Contain in the File
10.4 Find All Duplicates Elements
10.5 Web Crawler
10.6 Find Duplicate URLs
10.7 Simplified Search Engine
Chapter 11. Sorting and Searching
11.1 Merge Arrays
11.2 Sort Anagrams Array
11.3 Search in Rotated Sorted Array
11.4 Sort the File
11.5 Search Array with Empty Strings
11.6 Search a 2D Matrix
11.7 Tower of People in Circus
11.8 The Rank of Number
Chapter 12. Testing
12.1 Find Mistakes
12.2 Find the Reason of Crash
12.3 Test Move Method in a Chess Game
12.4 Test a Webpage
12.5 Test a Pen
12.6 Test an ATM
Chapter 13. C and C++
13.1 Print Last K Lines
13.2 Compare Hash Table and STL Map
13.3 Virtual Functions
13.4 Depp Copy and Shallow Copy
13.5 Volatile Keyword
13.6 Virtual Destructor
13.7 Node Pointer
13.8 Smart Pointer
13.9 Aligned Malloc and Free Function
13.10 Allocate a 2D Array
Chapter 14. Java
14.1 Private Constructor
14.2 Try-catch-finally Java
14.3 Final Finally Finalize
14.4 Templates
14.5 Object Reflection
14.6 CircularArray
Chapter 15. Databases
Chapter 16 Threads and Locks
Chapter 17 Moderate
Chapter 18 Hard