We are presenting a collection of data structure and algorithm questions and answers for technical interviews for software companies. Questions are collected from real interviews of companies like Microsoft, Amazon, Facebook, Google or Yahoo. Questions are solved and the solutions are discussed in an optimal way which enables you to do a quick preparation for interview. A complete running Java program is added with each problem which you can copy and run in your IDE to understand the solution in a better way. Your feedback is very much appreciated. Please help the site grow by sharing your own problem and solutions or suggestions. Please contact us through feedback@dsalgo.com
Array
Find maximum and minimumMake larger number
Next larger palindrome
Least difference in array
Print matrix spiral
Move zeros to the right
Find repetition multiple sorted arrays
Largest sum sub array
Search in a sorted matrix
Kth largest in sorted matrix
Largest palindrome iterative
Reverse words of sentence
Rotate array k times
Merge in single array
Rotate a string to make another
Maximum product subarray
Maximum sum sub matrix
Expand the array
Sort to bring anagrams closer
Two missing numbers
Maximize stock profit simple
Sum of array except current element
Maximum arithmetic sequence
Linked list
Reverse linked list iterativeReverse linked list recursive
Fold a linked list
Reverse k nodes in linked list
Find loop in linked list
Linked list Y shape
Kth node from end
Get find delete in O(1)
Bits
Calculate powerNext power of two
Total 1s in numbers till n
Swap without temp
Stack
Array next elementStack with get minimum
Sort a stack
Find all permutations
Find all paths in a maze
Find longest path in maze
Towers of Hanoi
Queue
Snakes and laddersQueue using stack
Queue minimum using stack
Shortest path in a maze
Hash
All unique letter substringLinked list remove duplicate
Are two words anagram
Longest subarray equal 1 & 0
Pythagorean triples
Map
Linked list with random pointerSame average subset
Anagram substring search
Heap
Running MedianMaximum k integers using min heap
Max heap and BST in one
Merge N sorted arrays
Backtracking
Separate words in sentenceIncreasing decreasing tuple
Tree 1
Balance the balanceLowest common ancestor
Sum of child nodes
Lowest common ancestor without root
Binary tree zigzag print
Print Binary tree bottom to top
Binary tree bottom to top level wise
Print Nodes of the same level
Linked list with inorder successor
Linked list with preorder successor
Linked list with postorder successor
Binary tree to linked list
Is the binary tree BST
Create tree from in and pre
Find root to node path
Find distance between two nodes
SuperImpose Binary Tree
Is a sum possible along any path
Remove duplicate from infinite integers
Find deepest level nodes
Maximum sum path positive
Maximum sum path negative
Tree 2
Find Kth smallest in BSTBST with insertion order
Binary tree sum of odd levels
Level order without queue
Print level with maximum nodes
Find all wrong pairs in a BST
Depth of tree from parent array
BST from doubly linked list
Draw binary tree with ASCII
Remove duplicate subtree
Multithreading
Distributed doubly linked list sumDistributed node sum of tree
Distributed circular linked list sum
Graph
Find order of lettersFind longest interviewer chain
Divide and conquer
Find local minimaDynamic programming
Two numbers sum up to kTwo numbers sum up to k unsorted
Any numbers sum up to k iterative
Any numbers sum up to k recursive
Container loading recursive
Largest palindrome dynamic
Longest common subsequence
Gold coins in pots game
Partition array equal sum
Find subset with given average
Share price max profit recursive
Increasing array subsequence
Jumping frog problem