Cracking the Coding Interview Topic Challenge Points Solution Techniques / Concepts Time Complexity: Primality 15 Solution.java Techniques / Concepts Recursion: Fibonacci Numbers 20 Solution.java Techniques / Concepts Recursion: Davis' Staircase 30 Solution.java Techniques / Concepts DP: Coin Change 30 Solution.java Techniques / Concepts Bit Manipulation: Lonely Integer 60 Solution.java Data Structures Arrays: Left Rotation 20 Solution.java Data Structures Strings: Making Anagrams 25 Solution.java Data Structures Hash Tables: Ransom Note 25 Solution.java Data Structures Linked Lists: Detect a Cycle 25 Solution.java Data Structures Stacks: Balanced Brackets 30 Solution.java Data Structures Queues: A Tale of Two Stacks 30 Solution.java Data Structures Trees: Is This a Binary Search Tree? 30 Solution.java Data Structures Heaps: Find the Running Median 50 Solution.java Data Structures Tries: Contacts 50 Solution.java Algorithms Sorting: Bubble Sort 30 Solution.java Algorithms Sorting: Comparator 35 Solution.java Algorithms Merge Sort: Counting Inversions 35 Solution.java Algorithms Binary Search: Ice Cream Parlor 45 Solution.java Algorithms DFS: Connected Cell in a Grid 45 Solution.java Algorithms BFS: Shortest Reach in a Graph 45 Solution.java