# Must Do Coding Questions Company-wise

### Companies

- Subarray with given sum
- Maximum Index
- Finding the numbers
- Longest valid Parentheses
- Jumping Numbers
- Connect Nodes at Same Level
- Count BST nodes that lie in a given range
- Implement LRU Cache
- Interleaved Strings
- Find triplets with zero sum
- Egg Dropping Puzzle
- Word Break Problem
- Check if a Binary Tree contains duplicate subtrees of size 2 or more
- Find largest word in dictionary by deleting some characters of given string
- Modular Exponentiation (Power in Modular Arithmetic)

- Subarray with given sum
- Find all pairs with a given sum
- Total Decoding Messages
- Word Boggle
- Activity Selection
- Minimum Depth of a Binary Tree
- Implement strstr
- Multiply two strings
- K-Palindrome
- Find triplets with zero sum
- Largest subset whose all elements are Fibonacci numbers
- Look-and-Say Sequence
- Converting Decimal Number lying between 1 to 3999 to Roman Numerals
- Convert Ternary Expression to Binary Tree
- Maximum Rectangular Area in a Histogram

### Amazon

- K largest elements from a big file or array
- Reverse a Linked List in groups of given size
- Implement a stack with push(), pop() and min() in O(1) time
- Add two numbers represented by linked lists
- Convert a Binary tree to DLL
- Stock span problem
- Next larger element
- Edit distance
- Maximum of all subarrays of size k
- Pythagorean Triplet
- Print a Binary Tree in Vertical Order
- Level order traversal
- Smallest window in a string containing all the characters of another string
- Find the number of islands
- Detect and Remove Loop in a Linked List
- Check if a binary tree is BST or not
- Boolean Parenthesization
- Arrange given numbers to form the biggest number
- Implement LRU Cache
- Maximum difference between node and its ancestor in Binary Tree

### Microsoft

- Key Pair
- Is Binary Number Multiple of 3
- Kadane’s Algorithm
- Missing number in array
- Majority Element
- Search in a Rotated Array
- Check for BST
- Finding middle element in a linked list
- Root to leaf path sum
- Reverse a linked list
- Remove every k’th node
- Merge 2 sorted linked list in reverse order
- Longest Even Length Substring such that Sum of First and Second Half is same
- k largest(or smallest) elements in an array | added Min Heap method
- Write an Efficient Function to Convert a Binary Tree into its Mirror Tree
- Determine if Two Trees are Identical

### Adobe

- Search in a Rotated Array
- Subset Sum Problem
- Reverse words in a given string
- Sort an array of 0s, 1s and 2s
- Minimum number of jumps
- Check for BST
- Root to leaf path sum
- Sum Tree
- Finding middle element in a linked list
- Reverse a linked list
- Level order traversal in spiral form
- Right View of Binary Tree
- Remove duplicate element from sorted Linked List
- Merge Sort for Linked List
- Count set bits in an integer

### Oracle

- 0 – 1 Knapsack Problem
- Search in a matrix
- Power of 2
- Palindrome
- Root to leaf path sum
- Kadane’s Algorithm
- Binary Search
- Implement Queue using Linked List
- Connect Nodes at Same Level
- Remove loop in Linked List
- Implement Stack using Queues
- Implement Queue using Stacks
- Remove duplicate element from sorted Linked List
- Find the first repeating element in an array of integers

### D E Shaw

- Majority Element
- Search in a Rotated Array
- Sum of Middle Elements of two sorted arrays
- Non Repeating Character
- Kadane’s Algorithm
- Intersection of two sorted Linked lists
- Detect Loop in linked list
- Print all nodes that don’t have sibling
- Two Mirror Trees
- Intersection Point in Y Shapped Linked Lists
- Trie | (Insert and Search)
- Implement Queue using Stacks
- Implement Stack using Queues
- Find the number of islands
- Copy Set Bits in Range

### Directi

- Maximum of all subarrays of size k
- Search in a matrix
- Word Boggle
- Jumping Numbers
- Transform String
- Solve the Sudoku
- Find Nth root of M
- Array Pair Sum Divisibility Problem
- Largest zigzag sequence
- Maximum Intervals Overlap
- Max rectangle
- Maximum path sum
- Maximize Dot Product
- Excel Sheet | Part – 1
- Probability of Knight

### MAQ Software

- Sort an array of 0s, 1s and 2s
- Permutations of a given string
- Rotate Array by n elements
- Non Repeating Character
- Nth Fibonacci Number
- Finding middle element in a linked list
- n’th node from end of linked list
- Detect Loop in linked list
- Implement Queue using Stacks
- Find Missing And Repeating
- Find the Closest Element in BST
- Check if a linked list is Circular Linked List
- Reverse a String
- Reverse words in a given string
- Egg Dropping Puzzle

### Yahoo

- First non-repeating character in a stream
- Find median in a stream
- Largest prime factor
- Form coils in a matrix
- Word Boggle
- Largest Product Palindrome
- Surpasser Count
- Return two prime numbers
- Sort a stack
- Three way partitioning
- LRU Cache
- Serialize and Deserialize a Binary Tree
- Split a Circular Linked List into two halves
- Interleaved Strings
- Max Sum without Adjacents

### Accolite

- Count Squares
- Longest Prefix Suffix
- N-Queen Problem
- Coin Change
- Permutations of a given string
- Stock buy and sell
- Longest Palindrome in a String
- Sum of two numbers represented as arrays
- Max sum submatrix
- Maximum sum Rectangle
- Root to leaf path sum
- Lowest Common Ancestor in a Binary Tree
- Level order traversal in spiral form
- Implement Stack using Queues
- n’th node from end of linked list

### Walmart Labs

- Longest consecutive subsequence
- Largest number in K swaps
- k largest elements
- Word Break
- Find the highest occurring digit in prime numbers in a range
- Count all possible paths from top left to bottom right
- Minimum Platforms
- Parenthesis Checker
- Implement LRU Cache
- Josephus Problem
- Top View of Binary Tree
- Intersection of Two Linked Lists
- Alien Dictionary
- Remove Loop in Linked List
- Wildcard Pattern Matching

### Samsung

- Longest Increasing Subsequence
- Next larger element
- Permutations of a given string
- Next greater number set digits
- Finding middle element in a linked list
- Root to leaf path sum
- Detect Loop in linked list
- Left View of Binary Tree
- Implement Queue using Linked List
- Egg Dropping Puzzle
- Total number of possible Binary Search Trees with n keys
- Count number of bits to be flipped to convert A to B
- Implement two stacks in an array
- Given only a pointer/reference to a node to be deleted in a singly linked list, how do you delete it?

### Paytm

- Sort an array of 0s, 1s and 2s
- Reverse words in a given string
- Reverse a linked list
- Reverse a Linked List in groups of given size
- Max Sum without Adjacents
- Mirror Tree
- Flattening a Linked List
- Check for Balanced Tree
- Find the number of islands
- Coin Change
- Count frequencies of all elements in array in O(1) extra space and O(n) time
- Convert array into Zig-Zag fashion
- Find the row with maximum number of 1s
- Maximum Rectangular Area in a Histogram

### Ola Cabs

- Kadane’s Algorithm
- Missing number in array
- Sort an array of 0s, 1s and 2s
- Search in a matrix
- Left View of Binary Tree
- Mirror Tree
- Connect Nodes at Same Level
- K distance from root
- Level order traversal in spiral form
- Non Repeating Character
- Find the number of islands
- Find the character in first string that is present at minimum index in second string
- Maximum difference between two elements such that larger element appears after the smaller number
- Find the element that appears once in sorted array
- Boolean Matrix Problem

### Flipkart

- Kadane’s Algorithm
- 0 – 1 Knapsack Problem
- Inversion of array
- Consecutive 1’s not allowed
- Finding middle element in a linked list
- Get minimum element from stack
- Left View of Binary Tree
- Add two numbers represented by linked lists
- Connect Nodes at Same Level
- Sum of dependencies in a graph
- Maximum of all subarrays of size k
- Possible words from Phone digits
- Reverse Level Order Traversal
- Implement Queue using Stack
- Maximum Width of Tree

### SAP Labs

- Sort an array of 0s, 1s and 2s
- Check if a number is Bleak
- Reverse words in a given string
- Remove Spaces from string
- Second Largest
- Check if a number is power of another number
- Reverse a linked list
- Get minimum element from stack
- BFS traversal of graph
- Find median in a stream of integers
- Quick Sort
- GCD of Array
- LCM And GCD
- Heap Sort
- Bubble Sort

### VMware

- Longest Common Subsequence
- Maximum Index
- Array to BST
- Egg Dropping Puzzle
- K’th smallest element
- Check for BST
- Finding middle element in a linked list
- Reverse a linked list
- Detect Loop in linked list
- Run Length Encoding
- Height of Binary Tree
- Infix to Postfix
- Diameter of Binary Tree
- Mirror Tree
- Boolean Matrix Problem

### Cisco

- Missing number in array
- Reverse words in a given string
- Permutations of a given string
- Array to BST
- Counbt set bits
- Reverse a linked list
- Level order traversal
- Minimum Spanning Tree
- Does array represent Heap
- Kth largest element in a stream
- Escape the jail
- K’th smallest element
- Insertion Sort
- Bubble Sort

### Goldman Sachs

- Reverse words in a given string
- Overlapping rectangles
- Column name from a given column number
- Non Repeating Character
- Total Decoding Messages
- Sum Tree
- Get minimum element from stack
- Flattening a Linked List
- Sort a stack using Recursion
- Intersection Point in Y Shapped Linked Lists
- Stock buy and sell
- Egg Dropping Puzzle
- Check for Balanced Tree
- Check if two arrays are equal or not
- Implement Queue using Stacks

### MakeMyTrip

- Distinct palindromic substrings
- Two water Jug problem
- Minimum Cost Path
- Transpose of Matrix
- Smallest window in a string containing all the characters of another string
- Check Mirror in N-ary tree
- Longest Prefix Suffix
- Maximum Difference
- Nuts and Bolts Problem
- N meetings in one room
- String formation from substring
- Longest Common Subsequence
- Next Permutation
- Trailing zeroes in factorial
- Egg Dropping Puzzle

### Snapdeal

- Fighting the darkness
- Money Division
- Group Anagrams Together
- Pangram Strings
- 0 – 1 Knapsack Problem
- Longest Arithmetic Progression
- Next greater number set digits
- Number of Coins
- Check If two Line segments Intersect
- Two numbers with sum closest to zero
- Parenthesis Checker
- Maximum Rectangular Area in a Histogram
- Smallest Positive missing number
- Find the number of islands
- Reverse a Linked List in groups of given size

### Qualcomm

- Find length of Loop
- Implement strstr
- Min distance between two given nodes of a Binary Tree
- Delete a node from BST
- Left View of Binary Tree
- Intersection Point in Y Shapped Linked Lists
- Check for BST
- Reverse a linked list
- Detect Loop in linked list
- Reverse Bits
- Next Permutation
- Array Subset of another array
- Set Bits
- Find Prime numbers in a range
- Subsequence matching

### Payu

- Reverse each word in a given string
- First non-repeating character in a stream
- Next larger element
- 0 – 1 Knapsack Problem
- Leaders in an array
- Trapping Rain Water
- Pattern Searching
- Implement Atoi
- Lowest Common Ancestor in a Binary Tree
- Level order traversal in spiral form
- Flattening a Linked List
- Finding middle element in a linked list
- Missing number in array
- Kadane’s Algorithm
- Count possible ways to construct buildings

### Intuit

- Element with left side smaller and right side greater
- Find median in a stream
- Product array puzzle
- Count Occurences of Anagrams
- Maximum Sub Array
- Binary Array Sorting
- Sort a Stack
- Find the number of islands
- Remove duplicates from an unsorted linked list
- Implement LRU Cache
- Max Rectangle
- Reverse a linked list
- Pairwise swap elements of a linked list by swapping data
- Find the missing no in string
- Depth First Traversal for a Graph

### Important Links

- Difficulty-wise ordered Coding questions for Interview and Competitive Programming
- Aptitude questions asked in round 1 : Placements Course designed for this purpose.
- MCQs asked from different computer science subjects : Subject-Wise Quizzes
- Interview theory and coding questions of all companies : Company wise all practice questions.
- Interview experiences of all companies : Interview corner.

**Geeksforgeeks Courses:**

**1. Language Foundation Courses [C++ / JAVA / Python ]**

Learn any programming language from scratch and understand all its fundamentals concepts for a strong programming foundation in the easiest possible manner with help of GeeksforGeeks Language Foundation Courses – Java Foundation | Python Foundation | C++ Foundation

**2. Geeks Classes Live**

Get interview-centric live online classes on Data Structure and Algorithms from any geographical location to learn and master DSA concepts for enhancing your problem-solving & programming skills and to crack the interview of any product-based company – Geeks Classes: Live Session

**3. ****Complete Interview Preparation**

Get fulfilled all your interview preparation needs at a single place with the *Complete Interview Preparation Course *that provides you all the required stuff to prepare for any product-based, service-based, or start-up company at the most affordable prices.

**4. DSA Self Paced**

Start learning Data Structures and Algorithms to prepare for the interviews of top IT giants like Microsoft, Amazon, Adobe, etc. with

*DSA Self-Paced Course*where you will get to learn and master DSA from basic to advanced level and that too at your own pace and convenience.

**5. Company Specific Courses – Amazon, Microsoft, TCS & Wipro**

Crack the interview of any product-based giant company by specifically preparing with the questions that these companies usually ask in their coding interview round. Refer GeeksforGeeks Company Specific Courses: Amazon SDE Test Series, etc.