# Must Do Coding Questions Company-wise

**Topic :**

- 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

- 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

- 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

- 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

- 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
- Search in a row wise and column wise sorted matrix
- Find the first repeating element in an array of integers

- 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

- 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

- 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

- 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

- 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

- 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

- 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?

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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.

You may also check our **latest online course series** to learn DS & Algo is named **DSA**, which covers everything about Data Structures from *Basic to Advanced*.

This is a **10 weeks** long online certification program specializing in Data Structures & Algorithms which includes pre-recorded premium Video lectures & programming questions for practice. You will learn algorithmic techniques for solving various computational problems and will implement more than 200 algorithmic coding problems. This course offers you a wealth of programming challenges that you may face at your next job interview. The course focuses mainly on **Data Structure & Algorithms**: the key to selection in top product based companies.

**Key Features of the Course**

- Well organised tutorials on Data-Structures and Algorithms prepared by the GeeksforGeeks Team.
- Premium video lectures by
**Mr. Sandeep Jain**, Founder and C.E.O of GeeksforGeeks. - Dedicated doubt solving team to assist you.
- Weekly Assessment Tests with Video Solutions.
- Performance-Based Certificate.
- Internship Opportunities at GeeksforGeeks.
- The courses are self-paced: Anyone can register anytime, make payment and begin the course.

And, many more.

The course is available in two versions:

**With Doubt Assistance**: The price of the self-paced online DSA course with doubt assistance is INR**3,999**.**Click here to purchase your ticket**.

**Without Doubt Assistance**: The price of the self-paced online DSA course without doubt assistance is INR**2,499**.**Click here to purchase your ticket**

.- How to attempt Function Coding Questions?
- Must Do Coding Questions for Companies like Amazon, Microsoft, Adobe, ...
- Practice for cracking any coding interview
- How to answer a coding question in an Interview?
- Top 25 Interview Questions
- SQL Interview Questions
- Must Do Questions for Companies like TCS, CTS, HCL, IBM …
- Facebook Interview Questions
- Top 10 algorithms in Interview Questions | Set 2
- Top 10 algorithms in Interview Questions
- How to read Competitive Programming Questions?
- Interview Questions for Java Professionals
- Commonly Asked C++ Interview Questions | Set 1
- Commonly Asked OOP Interview Questions | Set 1
- Commonly Asked C++ Interview Questions | Set 2

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above