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