Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hundreds of software engineers. The result is this book.
Press Control+F(or Command+F on the Mac) to search anything you want.
# | Solution | Tag | Difficulty |
---|---|---|---|
01.01 | Is Unique | Array |
Easy |
01.02 | Check Permutation | Array ,String |
Easy |
01.03 | String to URL | String |
Easy |
01.04 | Palindrome Permutation | Hash Table ,String |
Easy |
01.05 | One Away | String ,Dynamic Programming |
Medium |
01.06 | Compress String | String |
Easy |
01.07 | Rotate Matrix | Array |
Medium |
01.08 | Zero Matrix | Array |
Medium |
01.09 | String Rotation | String |
Easy |
02.01 | Remove Duplicate Node | Linked List |
Easy |
02.02 | Kth Node From End of List | Linked List ,Two Pointers |
Easy |
02.03 | Delete Middle Node | Linked List |
Easy |
02.04 | Partition List | Linked List ,Two Pointers |
Medium |
02.05 | Sum Lists | Linked List ,Math |
Medium |
02.06 | Palindrome Linked List | Linked List |
Easy |
02.07 | Intersection of Two Linked Lists | Linked List |
Easy |
02.08 | Linked List Cycle | Linked List |
Medium |
03.01 | Three in One | Design |
Easy |
03.02 | Min Stack | Stack |
Easy |
03.03 | Stack of Plates | Design |
Medium |
03.04 | Implement Queue using Stacks | Stack |
Easy |
03.05 | Sort of Stacks | Design |
Medium |
03.06 | Animal Shelter | Design |
Easy |
04.01 | Route Between Nodes | Graph |
Medium |
04.02 | Minimum Height Tree | Tree ,Depth-first Search |
Easy |
04.03 | List of Depth | Tree ,Breadth-first Search |
Medium |
04.04 | Check Balance | Tree ,Depth-first Search |
Easy |
04.05 | Legal Binary Search Tree | Tree ,Depth-first Search |
Medium |
04.06 | Successor | Tree ,Depth-first Search |
Medium |
04.08 | First Common Ancestor | Tree |
Medium |
04.09 | BST Sequences | Tree ,Dynamic Programming |
Hard |
04.10 | Check SubTree | Tree |
Medium |
04.12 | Paths with Sum | Tree ,Depth-first Search |
Medium |
05.01 | Insert Into Bits | Bit Manipulation |
Easy |
05.02 | Bianry Number to String | String |
Medium |
05.03 | Reverse Bits | Bit Manipulation |
Easy |
05.04 | Closed Number | Bit Manipulation |
Medium |
05.06 | Convert Integer | Bit Manipulation |
Easy |
05.07 | Exchange | Bit Manipulation |
Easy |
05.08 | Draw Line | Array |
Medium |
08.01 | Three Steps Problem | Dynamic Programming |
Easy |
08.02 | Robot in a Grid | Dynamic Programming |
Medium |
08.03 | Magic Index | Array ,Binary Search |
Easy |
08.04 | Power Set | Bit Manipulation ,Array ,Backtracking |
Medium |
08.05 | Recursive Mulitply | Recursion |
Medium |
08.06 | Hanota | Recursion |
Easy |
08.07 | Permutation I | Backtracking |
Medium |
08.08 | Permutation II | Backtracking |
Medium |
08.09 | Bracket | String ,Backtracking |
Medium |
08.10 | Color Fill | Depth-first Search |
Easy |
08.11 | Coin | Dynamic Programming |
Medium |
08.12 | Eight Queens | Backtracking |
Hard |
08.13 | Pile Box | Dynamic Programming ,Backtracking |
Hard |
08.14 | Boolean Evaluation | Stack ,String |
Medium |
10.01 | Sorted Merge | Array ,Two Pointers |
Easy |
10.02 | Group Anagrams | Hash Table ,String |
Medium |
10.03 | Search Rotate Array | Array ,Binary Search |
Medium |
10.05 | Sparse Array Search | Binary Search |
Easy |
10.09 | Sorted Matrix Search | Two Pointers ,Binary Search ,Divide and Conquer |
Medium |
10.10 | Rank from Stream | Medium | |
10.11 | Peaks and Valleys | Medium | |
16.01 | Swap Numbers | Bit Manipulation ,Math |
Medium |
16.02 | Words Frequency | Design ,Hash Table |
Medium |
16.03 | Intersection | Geometry ,Math |
Hard |
16.04 | Tic-Tac-Toe | Array |
Medium |
16.05 | Factorial Zeros | Math |
Easy |
16.06 | Smallest Difference | Array ,Two Pointers |
Medium |
16.07 | Maximum | Bit Manipulation ,Math |
Easy |
16.08 | English Int | Math ,String |
Hard |
16.09 | Operations | Design |
Medium |
16.10 | Living People | Array |
Medium |
16.11 | Diving Board | Recursion ,Memoization |
Easy |
16.13 | Bisect Squares | Geometry |
Medium |
16.14 | Best Line | Geometry ,Hash Table |
Medium |
16.15 | Master Mind | Array |
Easy |
16.16 | Sub Sort | Sort ,Array |
Medium |
16.17 | Contiguous Sequence | Array ,Divide and Conquer ,Dynamic Programming |
Easy |
16.18 | Pattern Matching | String |
Medium |
16.19 | Pond Sizes | Depth-first Search ,Breadth-first Search |
Medium |
16.20 | T9 | Array |
Medium |
16.21 | Sum Swap | Sort ,Array |
Medium |
16.22 | Langtons Ant | Array |
Medium |
16.24 | Pairs With Sum | Array ,Hash Table |
Medium |
16.25 | LRU Cache | Design |
Medium |
16.26 | Calculator | String |
Medium |
17.01 | Add Without Plus | Bit Manipulation |
Easy |
17.04 | Missing Number | Bit Manipulation ,Array ,Math |
Easy |
17.05 | Find Longest Subarray | Array |
Medium |
17.06 | Number Of 2s In Range | Math ,Dynamic Programming |
Medium |
17.07 | Baby Names | Depth-first Search ,Breadth-first Search ,Union Find |
Medium |
17.08 | Circus Tower | Sort ,Binary Search ,Dynamic Programming |
Medium |
17.09 | Get Kth Magic Number | Heap ,Queue ,Math |
Medium |
17.10 | Find Majority Element | Bit Manipulation ,Array ,Divide and Conquer |
Easy |
17.11 | Find Closest | Two Pointers ,String |
Medium |
17.12 | BiNode | Tree ,Binary Search Tree ,Recursion |
Easy |
17.13 | Re-Space | Memoization ,String |
Medium |
17.14 | Smallest K | Heap ,Sort ,Divide and Conquer |
Medium |
17.15 | Longest Word | String |
Medium |
17.16 | The Masseuse | Dynamic Programming |
Easy |
17.17 | Multi Search | Trie ,String |
Medium |
17.18 | Shortest Supersequence | Sliding Window |
Medium |
17.19 | Missing Two | Array ,Math |
Hard |
17.20 | Continuous Median | Heap |
Hard |
17.21 | Volume of Histogram | Stack ,Array ,Two Pointers |
Hard |
17.22 | Word Transformer | Depth-first Search ,Breadth-first Search ,Array ,String |
Medium |
17.23 | Max Black Square | Dynamic Programming |
Medium |
17.24 | Max Submatrix | Dynamic Programming |
Hard |
17.25 | Word Rectangle | Hard | |
17.26 | Sparse Similarity | Hash Table |
Hard |