Various Programming Interview Problems solved in Java:
Solved: 20 To be solved: 51
##LinkedList
- Implement linked list
- Reverse linked list (non recursive)
- Rotate linked list for N elements left
- Find intersections of two linked lists
- Interweave Linked List
- Insert Value into Sorted Circular Linked List
- Delete alternate nodes of a Linked List (odd or event)
##Stack and Queue
- Implement Queue using LinkedList
- Implement Stack using LinkedList
- Implement Stack using Queue
- Implement Queue using Stack
##BinaryTries
- Implement pre/in/post order recursive traversal
- Implement pre/in/post order without recursion traversal
- Validate that Binary Tree is Binary Search Tree
- Serialize/Deserialize Binary Tree
- Reconstruct Binary Tree having in preorder and inorder traversal
- Reconstruct Binary Tree having in postorder and inorder traversal
- Find closest value in BST
- Find closest value in BST (iterative)
- Print Binary Tree Level
- Compute Arithmetic Tree expression
- Get All Possible In Orders From Pre Order Traversal
- Print Full Binary Tree Boundary
- SubTree Binary Tree Judging
- Implement Find and Delete for binary tree.
- Given a binary tree. Write a function that takes only root node as arguement and returns (sum of values at odd height)-(sum of values at even height).
##Arrays
- Count Connected Components
- Find pair of elements in array with sum = X
- Count occurrence in Sorted Array
- Find index in sorted array
- Merge two sorted arrays
- Find max sum subset in array
- Rotate 2D array in place
- Find rotation in 2D array
- Print 2D array in Spiral Order
- Search in 2D sorted array
- Find balance point in array
- Find List Mid Point
- Find Kth Largest from Array
- Largest Rectangle In Histogram
- Print All Size K Subsets
- N Queen Problem
- Binary search in sorted array
- Given an array of numbers, arrange it such that all the numbers less than a given key should come before the key and all the numbers greater than the key should come after it.
##Hash
- Implement hashmap using linked list
- Implement hashmap using array
##Dynamic Programming
- Stair Climbing Problem
- print all change combination per amount
- count all change combination per amount
- Compute largest submatrix sum
- Longest Increasing Subsequence
##Strings
- Reverse string inplace
- Reverse words in string inplace
- Find longest palindrome in string O(n)
- Generate next permutation for the string
- Generate all possible permutations of letters for the phone number
- Print valid parenthesis combinations
- String permutation (using swap)
- Verify rotated palindrome
##Math
- Calculate Square Root (binary search method)
- Calculate Square Root (Newtons method)
- Implement division without division operator
- Check if the number is the perfect square in efficient way
##Other
- Sudoku solver
- Twenty Four Game
- Calculator Without
##Sorting
- bubble sort
- selection sort
- insert sort
- quick sort
- merge sort
##SQL
##Quine
- write program that prints itself
#Running tests
- git clone https://github.com/smartkiwi/prog_interview_java.git
- cd prog_interview_java
- mvn test