Skip to content

Solutions to problems from "Cracking the Coding Interview 6E" by Gayle Laakmann McDowell

Notifications You must be signed in to change notification settings

amanchadha/cracking-the-coding-interview

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cracking the Coding Interview

Solutions to problems from "Cracking the Coding Interview 6E" by Gayle Laakmann McDowell.

CI

Problems

Chapter 01 - Arrays and Strings

01.01 Is Unique
01.02 Check Permutation
01.03 URLify
01.04 Palindrome Permutation
01.05 One Away
01.06 String Compression
01.07 Rotate Matrix
01.08 Zero Matrix
01.09 String Rotation

Chapter 02 - Linked Lists

02.01 Remove Dups
02.02 Return Kth to Last
02.03 Delete Middle Node
02.04 Partition
02.05 Sum Lists
02.06 Palindrome
02.07 Intersection
02.08 Loop Detection

Chapter 03 - Stacks and Queues

03.01 Three in One
03.02 Stack Min
03.03 Stack of Plates
03.04 Queue via Stacks
03.05 Sort Stack
03.06 Animal Shelter

Chapter 04 - Trees and Graphs

04.01 Route Between Nodes
04.02 Minimal Tree
04.03 List of Depths
04.04 Check Balanced
04.05 Validate BST
04.06 Successor
04.07 Build Order
04.08 First Common Ancestor
04.09 BST Sequences
04.10 Check Subtree
04.11 Random Node
04.12 Paths with Sum

Chapter 05 - Bit Manipulation

05.01 Insertion
05.02 Binary to String
05.03 Flip Bit to Win
05.04 Next Number
05.05 Debugger
05.06 Conversion
05.07 Pairwise Swap
05.08 Draw Line

Chapter 06 - Math and Logic Puzzles

06.01 The Heavy Pill
06.02 Basketball
06.03 Dominos
06.04 Ants on a Triangle
06.05 Jugs of Water
06.06 Blue-Eyed Island
06.07 The Apocalypse
06.08 The Egg Drop problem
06.09 100 Lockers
06.10 Poison

Chapter 07 - Object-Oriented Design

07.01 Desk of Cards
07.02 Call Center
07.03 Jukebox
07.04 Parking Lot
07.05 Online Book Reader
07.06 Jigsaw
07.07 Chat Server
07.08 Othello
07.09 Circular Array
07.10 Minesweeper
07.11 File System
07.12 Hash Table

Chapter 08 - Recursion and Dynamic programming

08.01 Triple Step
08.02 Robot in a Grid
08.03 Magic Index
08.04 Power Set
08.05 Recursive Multiply
08.06 Towers of Hanoi
08.07 Permutations without Dups
08.08 Permutations with Dups
08.09 Parens
08.10 Paint Fill
08.11 Coins
08.12 Eight Queens
08.13 Stack of Boxes
08.14 Boolean Evaluation

Chapter 09 - System Design and Scalability

09.01 Stock Data
09.02 Social Network
09.03 Web Crawler
09.04 Duplicate Urls
09.05 Cache
09.06 Sales Rank
09.07 Personal Finance Manager
09.08 Pastebin

Chapter 10 - Sorting and Searching

10.01 Sorted Merge
10.02 Group Anagrams
10.03 Search in Rotated Array
10.04 Sorted Search, No Size
10.05 Sparse Search
10.06 Sort Big File
10.07 Missing Int
10.08 Find Duplicates
10.09 Sorted Matrix Search
10.10 Rank from Stream
10.11 Peaks and Valleys

Chapter 11 - Testing

11.01 Mistake
11.02 Random Crashes
11.03 Chess Test
11.04 No Test Tools
11.05 Test a Pen
11.06 Test an ATM

Chapter 12 - C and C++

12.01 Last K Lines
12.02 Reverse String
12.03 Hash Table vs. STL Map
12.04 Virtual Functions
12.05 Shallow vs. Deep Copy
12.06 Volatile
12.07 Virtual Base Class
12.08 Copy Node
12.09 Smart Pointer
12.10 Malloc
12.11 2D Alloc

Chapter 13 - Java

13.01 Private Constructor
13.02 Return from Finally
13.03 Final, etc.
13.04 Generics vs. Templates
13.05 TreeMap, HashMap, LinkedHashMap
13.06 Object Reflection
13.07 Lambda Expressions
13.08 Lambda Random

Chapter 14 - Databases

14.01 Multiple Apartments
14.02 Open Requests
14.03 Close All Requests
14.04 Joins
14.05 Denormalization
14.06 Entity-Relationship Diagram
14.07 Design Grade Database

Chapter 15 - Threads and Locks

15.01 Thread vs. process
15.02 Context Switch
15.03 Dining Philosophers
15.04 Deadlock-Free Class
15.05 Call In Order
15.06 Synchronized Methods
15.07 FizzBuzz

Chapter 16 - Moderate

16.01 Number Swapper
16.02 Word Frequencies
16.03 Intersection
16.04 Tic Tac Win
16.05 Factorial Zeros
16.06 Smallest Difference
16.07 Number Max
16.08 English Int
16.09 Operations
16.10 Living People
16.11 Diving Board
16.12 XML Encoding
16.13 Bisect Squares
16.14 Best Line
16.15 Master Mind
16.16 Sub Sort
16.17 Contiguous Sequence
16.18 Pattern Matching
16.19 Pond Sizes
16.20 T9
16.21 Sum Swap
16.22 Langton's Ant
16.23 Rand7 from Rand5
16.24 Pairs with Sum
16.25 LRU Cache
16.26 Calculator

Chapter 17 - Hard

17.01 Add Without Plus
17.02 Shuffle
17.03 Random Set
17.04 Missing Number
17.05 Letters and Numbers
17.06 Count of 2s
17.07 Baby Names
17.08 Circus Tower
17.09 Kth Multiple
17.10 Majority Element
17.11 Word Distance
17.12 BiNode
17.13 Re-Space
17.14 Smallest K
17.15 Longest Word
17.16 The Masseuse
17.17 Multi Search
17.18 Shortest Supersequence
17.19 Missing Two
17.20 Continuous Median
17.21 Volume of Histogram
17.22 Word Transformer
17.23 Max Black Square
17.24 Max Submatrix
17.25 Word Rectangle
17.26 Sparse Similarity

About

Solutions to problems from "Cracking the Coding Interview 6E" by Gayle Laakmann McDowell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 49.8%
  • C 43.7%
  • Makefile 6.5%