1. String
Common questions
2. Hash Table
Implementation
Hash Table
3. Array & String
Common questions
http://javarevisited.blogspot.com/2015/06/top-20-array-interview-questions-and-answers.html
-
Find duplicate number on Integer array (http://javarevisited.blogspot.sg/2014/01/how-to-remove-duplicates-from-array-java-without-collection-API.html)
-
Find largest and smallest number in unsorted array ()
-
Find kth smallest and largest element in unsorted array?
-
Find common elements in three sorted array?
-
Flatten array
-
Reverse array
Common questions
-
Reverse String
-
Find duplicate characters from String
CCI questions
1.1 Is Unique
1.2 Check Permutation
1.3 URLify
1.4 Palindrome Permutation
1.5 One Away
1.6 String Compression
1.7 Rotate Matrix
1.8 Zero Matrix
1.9 String Rotation
4. Linked List
Implementation
- Single Linked List
- Double Linked List
- Circular Linked List
Common questions
-
Find the middle of a given linked list
-
Delete Middle of Linked List (https://practice.geeksforgeeks.org/problems/delete-middle-of-linked-list/1)
-
Rotate a linked list
-
Merge a linked list into another linked list at alternate positions. (https://www.geeksforgeeks.org/merge-a-linked-list-into-another-linked-list-at-alternate-positions/)
CCI questions
2.1 Remove Duplicates
2.2 Find Kth to Last Element
2.3 Delete Middle Node
2.4 Partition
2.5 Sum Lists
2.6 List is Palindrome
2.7 Lists Intersect
2.8 Loop Detection
5. Stack & Queue
Basic Implementation
- Stack
- Queue
- Queue with 2 stacks
- Circular Queue
Common questions
-
Balanced Brackets
-
Simple Text Editor
-
Largest Rectangle
CCI questions
3.1 Three in One: Describe how you could use a single array to implement three stacks
3.2 Stack Min
3.3 Stack of Plates
3.4 Queue via Stacks
3.5 Sort Stack
6. Trees and Graphs
Implementation
- Binary Search Tree
- Graph
CCI questions
4.1 Route Between Nodes
4.2 Minimal Tree
4.3 List of Depths
4.4 Check Balanced
4.5 Validate BST
4.6 Successor
4.7 Build Order
7. Bit Manipulation
CCI questions
5.1 Insertion
5.3 Flip Bit to Win
5.4 Next Number
8. Recursion and Dynamic Programming
CCI questions
8.1 Triple Step
8.10 Paint Fill
8.2 Robot in a Grid
8.3 Magic Index
8.4 Power Set
8.5 Recursive Multiply
8.7 Permutations without Dups
8.8 Permutations with Dups
8.9 All Combintations of Parens
9. Sorting and Searching
Basic Implementation
- Sorting
- Bubble Sort
- Selection Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Search
- Binary Search
CCI questions
10.1 Sorted Merge
10.2 Group Anagrams
10.3 Search in Rotated Array
10.5 Sparse Search
10.9 Sorted Matrix Search Bucket Sort Example
10. Threads and Locks
15.3 Dining Philoslophers
15.7 Concurrent Fizz Buzz