Must-Do-Coding-Questions-for-Companies
Must-Do-Coding-Questions-for-Companies copied to clipboard
Must Do Coding Questions for Companies like Amazon, Microsoft, Adobe, etc. It also help to crack the technical inteviews.
Must Do Coding Questions in Java
Array
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Subarray with given sum | Subarray with given sum | Easy |
2 | Kadane's Algorithm | Kadane's Algorithm | Medium |
3 | Missing number in array | Missing number in array | Easy |
4 | Merge Without Extra Space | Merge Without Extra Space | Hard |
5 | Rearrange Array Alternately | Rearrange Array Alternately | Medium |
6 | Largest Number formed from an Array | Largest Number formed from an Array | Medium |
7 | Spirally traversing a matrix | Spirally traversing a matrix | Easy |
8 | Convert array into Zig-Zag fashion | Convert array into Zig-Zag fashion | Easy |
9 | Trapping Rain Water | Trapping Rain Water | Medium |
10 | Kth smallest element | Kth smallest element | Medium |
11 | Reverse array in groups | Reverse array in groups | Basic |
12 | Minimum Platforms | Minimum Platforms | Medium |
13 | Leaders in an array | Leaders in an array | Easy |
14 | Equilibrium Point | Equilibrium Point | Easy |
15 | Reverse Array | Reverse array | Easy |
16 | Sort 0 1 2 | Sort 0 1 2 | Easy |
17 | Remove Duplicates from Sorted Array | Remove Duplicates from Sorted Array | Easy |
18 | Rotate Array | Rotate Array | Easy |
19 | Maximum of all subarrays of size k | Maximum of all subarrays of size k | Medium |
20 | Single Number | Single Number | Easy |
21 | Intersection of Two Arrays II | Intersection of Two Arrays II | Easy |
22 | Count Triplets | Count Triplets | Medium |
23 | Help Classmates | Help Classmates | Medium |
24 | Maximum Product Subarray | Maximum Product Subarray | Medium |
25 | Reshape the Matrix | Reshape the Matrix | Easy |
26 | Valid Sudoku | Valid Sudoku | Easy |
27 | Subarrays with equal 1s and 0s | Subarrays with equal 1s and 0s | Medium |
28 | First non-repeating character in a stream | First non-repeating character in a stream | Easy |
29 | First negative integer in every window of size k | First negative integer in every window of size k | Easy |
29 | Valid Substring | Valid Substring | Easy |
30 | The Celebrity Problem | The Celebrity Problem | Medium |
31 | Median of Two Sorted Arrays | Median of Two Sorted Arrays | Medium |
32 | Maximum Rectangular Area in a Histogram | Maximum Rectangular Area in a Histogram | Medium |
33 | Count pairs in array divisible by K | Count pairs in array divisible by K | Medium |
Searching Algo
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Linear Search | Linear Search | Basic |
2 | Binary Search | Binary Search | Basic |
3 | First Bad Version | First Bad Version | Easy |
4 | Search Insert Position | Search Insert Position | Easy |
5 | Search in Rotated Sorted Array | Search in Rotated Sorted Array | Medium |
6 | Find Missing And Repeating | Find Missing And Repeating | Medium |
7 | Majority Element | Majority Element | Medium |
8 | Searching in an array where adjacent differ by at most k | Searching in an array where adjacent differ by at most k | Medium |
9 | Find Pair Given Difference | Find Pair Given Difference | Easy |
10 | Zero Sum Subarrays | Zero Sum Subarrays | Medium |
Sorting Algo
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Bubble Sort | Bubble Sort | Basic |
2 | Selection Sort | Selection Sort | Basic |
3 | Insertion Sort | Insertion Sort | Easy |
4 | Merge Sort | Merge Sort | Easy |
Martix
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Spirally traversing a matrix | Spirally traversing a matrix | Medium |
2 | Search a 2D Matrix | Search a 2D Matrix | Medium |
3 | Row with max 1s | Row with max 1s | Medium |
4 | Sorted matrix | Sorted matrix | Basic |
5 | Maximal Square | Maximal Square | Medium |
6 | Rotate Image | Rotate Image | Medium |
7 | Common Elements Present In All Rows Of Matrix | Common Elements Present In All Rows Of Matrix | Medium |
8 | Solve the Sudoku | Solve the Sudoku | Medium |
String
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Longest Common Prefix in an Array | Longest Common Prefix in an Array | Medium |
2 | Reverse words in a given string | Reverse words in a given string | Easy |
3 | Permutations of a given string | Permutations of a given string | Basic |
4 | Longest Palindrome in a String | Longest Palindrome in a String | Medium |
5 | Roman Number to Integer | Roman Number to Integer | Easy |
6 | Convert to Roman No | Convert to Roman No r | Easy |
7 | Anagram | Anagram | Easy |
8 | Longest Substring Without Repeating Characters | Longest Substring Without Repeating Characters | Medium |
9 | First Unique Character in a String | First Unique Character in a String | Medium |
10 | Search Pattern | Search Pattern | Medium |
LinkedList
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Finding middle element in a linked list | Finding middle element in a linked list | Basic |
2 | Reverse a linked list | Reverse a linked list | Easy |
3 | Rotate a Linked List | Rotate a Linked List | Easy |
4 | Reverse a Linked List in groups of given size | Reverse a Linked List in groups of given size | Medium |
5 | Intersection Point in Y Shapped Linked Lists | Intersection Point in Y Shapped Linked Lists | Medium |
6 | Detect Loop in linked list | Detect Loop in linked list | Easy |
7 | Nth node from end of linked list | Nth node from end of linked list | Easy |
8 | Merge two sorted linked lists | Merge two sorted linked lists | Easy |
9 | Add two numbers represented by linked lists | Add two numbers represented by linked lists | Easy |
10 | Check if Linked List is Palindrome | Check if Linked List is Palindrome | Easy |
11 | Flattening a Linked List | Flattening a Linked List | Medium |
12 | Given a linked list of 0s, 1s and 2s, sort it | Given a linked list of 0s, 1s and 2s, sort it | Easy |
13 | Remove duplicate | Remove duplicate | Easy |
14 | Find length of Loop | Find length of Loop | Easy |
15 | Remove duplicates from an unsorted linked list | Remove duplicates from an unsorted linked list | Easy |
16 | Reverse a Doubly Linked List | Reverse a Doubly Linked List | Easy |
17 | Segregate even and odd nodes in a Link List | Segregate even and odd nodes in a Link List | Easy |
18 | Delete nodes having greater value on right | Delete nodes having greater value on right | Medium |
20 | Add 1 to a number represented as linked list | Add 1 to a number represented as linked list | Easy |
21 | Merge Sort for Linked List | Merge Sort for Linked List | Easy |
22 | Quick Sort on Linked List | Quick Sort on Linked List | Medium |
23 | Middle of the Linked List | Middle of the Linked List | Medium |
24 | Split a Circular Linked List into two halves | Split a Circular Linked List into two halves | Medium |
25 | Clone a linked list with next and random pointer | Clone a linked list with next and random pointer | Medium |
26 | Reverse Nodes in k-Group | Reverse Nodes in k-Group | Medium |
27 | Reverse Linked List II | Reverse Linked List II | Medium |
28 | Flatten Binary Tree to Linked List | Flatten Binary Tree to Linked List | Medium |
29 | Swapping Nodes in a Linked List | Swapping Nodes in a Linked List | Medium |
30 | Merge In Between Linked Lists | Merge In Between Linked Lists | Medium |
31 | Delete node in Doubly Linked List | Delete node in Doubly Linked List | Basic |
Tree
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Left View of Binary Tree | Left View of Binary Tree | Easy |
2 | Count Leaves in Binary Tree | Count Leaves in Binary Tree | Basic |
3 | Diameter of Binary Tree | Diameter of Binary Tree | Easy |
4 | Height of Binary Tree | Height of Binary Tree | Basic |
5 | Check for Balanced Tree | Check for Balanced Tree | Easy |
6 | Symmetric Tree | Symmetric Tree | Easy |
7 | Identical Tree | Identical Tree | Easy |
8 | Connect Nodes at Same Level | Connect Nodes at Same Level | Medium |
9 | Level order traversal in spiral form | Level order traversal in spiral form | Easy |
10 | Level order traversal | Level order traversal | Easy |
11 | Inorder Traversal | Inorder Traversal | Easy |
12 | Preorder Traversal | Preorder Traversal | Easy |
13 | Postorder Traversal | Postorder Traversal | Easy |
14 | Delete without head pointer | Delete without head pointer | Medium |
15 | Reverse Level Order Traversal | Reverse Level Order Traversal | Easy |
16 | Invert Binary Tree | Invert Binary Tree | Easy |
17 | Right View of Binary Tree | Right View of Binary Tree | Easy |
18 | Top View of Binary Tree | Top View of Binary Tree | Medium |
19 | Bottom View of Binary Tree | Bottom View of Binary Tree | Medium |
20 | Minimum Depth of Binary Tree | Minimum Depth of Binary Tree | Easy |
21 | ZigZag Tree Traversal | ZigZag Tree Traversal | Easy |
22 | Diagonal Traversal of Binary Tree | Diagonal Traversal of Binary Tree | Medium |
23 | Check if Tree is Isomorphic | Check if Tree is Isomorphic | Medium |
24 | Lowest Common Ancestor in a Binary Tree | Lowest Common Ancestor in a Binary Tree | Medium |
25 | Binary Tree to DLL | Binary Tree to DLL | Hard |
26 | Boundary Traversal of binary tree | Boundary Traversal of binary tree | Medium |
27 | Construct Tree from Inorder & Preorder | Construct Tree from Inorder & Preorder | Medium |
28 | Sum Tree | Sum Tree | Medium |
29 | Duplicate subtree in Binary Tree | Duplicate subtree in Binary Tree | Medium |
30 | Duplicate Subtrees | Duplicate Subtrees | Medium |
31 | Maximum sum of Non-adjacent nodes | Maximum sum of Non-adjacent nodes | Medium |
32 | Sum of nodes on the longest path from root to leaf node | Sum of nodes on the longest path from root to leaf node | Easy |
33 | Clone a Binary Tree | Clone a Binary Tree | Medium |
34 | K distance from root | K distance from root | Easy |
35 | Diagonal Sum In Binary Tree | Diagonal Sum In Binary Tree | Easy |
36 | Perfect Binary Tree | Perfect Binary Tree | Easy |
37 | Leaves to DLL | Leaves to DLL | Medium |
Binary Search Tree
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Check for BST | Check for BST | Medium |
2 | Lowest Common Ancestor in a BST | Lowest Common Ancestor in a BST | Medium |
3 | Largest BST | Largest BST | Medium |
4 | Insert a node in a BST | Insert a node in a BST | Basic |
5 | Minimum element in BST | Minimum element in BST | Basic |
6 | Count BST nodes that lie in a given range | Count BST nodes that lie in a given range | Medium |
7 | Flatten BST To A Sorted List | Flatten BST To A Sorted List | Medium |
8 | Preorder to Postorder | Preorder to Postorder | Medium |
9 | Normal BST to Balanced BST | Normal BST to Balanced BST | Easy |
Stack and Queue
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Reverse Stack Using Recursion | Reverse Stack Using Recursion | Easy |
2 | Sort a stack | Sort a stack | Easy |
3 | Merge Intervals | Merge Intervals | Medium |
4 | Valid Substring | Valid Substring | Easy |
5 | LRU Cache | LRU Cache | Easy |
6 | Queue Reversal | Queue Reversal | Easy |
7 | Implement two stacks in an array | Implement two stacks in an array | Easy |
8 | Next Smaller Element | Next Smaller Element | Medium |
9 | First non-repeating character in a stream | First non-repeating character in a stream | Medium |
10 | Game with String | Game with String | Medium |
11 | First negative integer in every window of size k | First negative integer in every window of size k | Medium |
12 | Reverse First K elements of Queue | Reverse First K elements of Queue | Easy |
13 | Maximum of all subarrays of size k | Maximum of all subarrays of size k | Medium |
14 | Rotten Oranges | Rotten Oranges | Medium |
15 | Special Stack | Special Stack | Medium |
16 | Queue using two Stacks | Queue using two Stacks | Easy |
17 | Flood fill Algorithm | Flood fill Algorithm | Medium |
18 | Distance of nearest cell having 1 | Distance of nearest cell having 1 | Medium |
19 | Circular tour | Circular tour | Medium |
Dynamic Programming
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Min Cost Climbing Stairs | Min Cost Climbing Stairs | Easy |
2 | Coin Change | Coin Change | Medium |
3 | 0 - 1 Knapsack Problem | 0 - 1 Knapsack Problem | Medium |
4 | nCr | nCr | Medium |
5 | House Robber | House Robber | Medium |
6 | House Robber II | House Robber II | Medium |
7 | Jump Game | Jump Game | Medium |
8 | Longest Increasing Subsequence | Longest Increasing Subsequence | Medium |
9 | Longest Common Subsequence | Longest Common Subsequence | Medium |
10 | Maximum path sum in matrix | Maximum path sum in matrix | Medium |
11 | Edit Distance | Edit Distance | Medium |
12 | House Robber III | House Robber III | Medium |
13 | Minimum sum partition | Minimum sum partition | Hard |
14 | Subset Sum Problem | Subset Sum Problem | Medium |
15 | Partition Equal Subset Sum | Partition Equal Subset Sum | Medium |
16 | Knapsack with Duplicate Items | Knapsack with Duplicate Items | Medium |
17 | Rod Cutting | Rod Cutting | Medium |
18 | Coin Change 2 | Coin Change 2 | Medium |
19 | Longest Common Substring | Longest Common Substring | Medium |
20 | Longest Palindromic Subsequence | Longest Palindromic Subsequence | Medium |
21 | Minimum number of deletions and insertions | Minimum number of deletions and insertions | Easy |
22 | Shortest Common Supersequence | Shortest Common Supersequence | Medium |
23 | Minimum number of deletions | Minimum number of deletions | Easy |
24 | Longest Repeating Subsequence | Longest Repeating Subsequence | Easy |
Mathematics
S.No | Question Link | Solution | Difficulty |
---|---|---|---|
1 | Find Nth root of M | Find Nth root of M | Easy |
2 | Kth Smallest Factor | Kth Smallest Factor | Easy |
3 | Square root of a number | Square root of a number | Medium |