Bounteous x Accolite
20+ Trion Infotech Interview Questions and Answers
Q1. Maximum Subarray Problem Statement
Ninja has been given an array, and he wants to find a subarray such that the sum of all elements in the subarray is maximum.
A subarray 'A' is considered greater than a subarr...read more
The task is to find the subarray with the maximum sum in a given array.
Iterate through the array and keep track of the current sum and maximum sum seen so far.
If the current sum becomes negative, reset it to 0 as it won't contribute to the maximum sum.
Compare the maximum sum with the sum of the current subarray to update the result.
Handle cases where all elements are negative by returning the maximum element in the array.
Consider edge cases like empty array or array with only...read more
Q2. Rotting Oranges Problem Statement
You are given a grid containing oranges where each cell of the grid can contain one of the three integer values:
- 0 - representing an empty cell
- 1 - representing a fresh orange...read more
Find the minimum time required to rot all fresh oranges in a grid.
Use Breadth First Search (BFS) to simulate the rotting process
Track the time taken to rot all oranges and return -1 if any fresh oranges remain
Handle edge cases like no fresh oranges or all oranges already rotten
Consider using a queue to efficiently process adjacent oranges
Q3. Intersection of Linked List Problem
You are provided with two singly linked lists containing integers, where both lists converge at some node belonging to a third linked list.
Your task is to determine the data...read more
Find the node where two linked lists merge, return -1 if no merging occurs.
Traverse both lists to find their lengths and the difference in lengths
Move the pointer of the longer list by the difference in lengths
Traverse both lists simultaneously until they meet at the merging point
Q4. Reverse Linked List Problem Statement
Given a Singly Linked List of integers, your task is to reverse the Linked List by altering the links between the nodes.
Input:
The first line of input is an integer T, rep...read more
Reverse a singly linked list by altering the links between nodes.
Iterate through the linked list and reverse the links between nodes
Use three pointers to keep track of the current, previous, and next nodes
Update the links between nodes to reverse the list
Return the head of the reversed linked list
Q5. Merge K Sorted Arrays Problem Statement
You are provided with 'K' different arrays/lists, each sorted in ascending order. Your task is to merge all these arrays/lists into one sorted array/list in ascending ord...read more
Merge K sorted arrays into one sorted array in ascending order.
Iterate through all arrays/lists and merge them into one sorted array using a priority queue or merge sort algorithm.
Ensure to handle edge cases like empty arrays/lists or arrays/lists with different sizes.
Time complexity can be optimized by using a min-heap or priority queue to efficiently merge the arrays/lists.
Q6. Left View of a Binary Tree Problem Statement
Given a binary tree, your task is to print the left view of the tree.
Example:
Input:
The input will be in level order form, with node values separated by a space. U...read more
Print the left view of a binary tree given in level order form.
Traverse the tree level by level and print the first node of each level (leftmost node).
Use a queue to perform level order traversal.
Keep track of the current level and print the first node encountered at each level.
Q7. Maximum Path Sum Between Two Leaves Problem Description
You are provided with a non-empty binary tree in which each node contains a non-negative integer value. Your task is to find and return the maximum possib...read more
Find the maximum path sum between two leaf nodes in a binary tree.
Traverse the tree to find the maximum path sum between two leaf nodes.
Keep track of the maximum sum found so far.
Consider all possible paths between leaf nodes.
Handle cases where the tree has only a single leaf node.
Implement a recursive function to calculate the maximum path sum.
Q8. Majority Element Problem Statement
Given an array/list 'ARR' consisting of 'N' integers, your task is to find the majority element in the array. If there is no majority element present, return -1.
Example:
Inpu...read more
Find the majority element in an array, return -1 if no majority element exists.
Iterate through the array and keep track of the count of each element using a hashmap.
Check if any element's count is greater than floor(N/2) to determine the majority element.
Return the majority element or -1 if no majority element exists.
Q9. N-th Node From The End Problem Statement
You are given a Singly Linked List of integers. The task is to find the N-th node from the end of the list.
Example:
Input:
If the given list is (1 -> -2 -> 0 -> 4) and ...read more
Find the N-th node from the end of a Singly Linked List of integers.
Traverse the list to find the length L of the list.
Calculate the position of the N-th node from the beginning as L - N + 1.
Traverse the list again to reach the calculated position and return the node's value.
Q10. LCA of Binary Tree Problem Statement
You are given a binary tree consisting of distinct integers and two nodes, X
and Y
. Your task is to find and return the Lowest Common Ancestor (LCA) of these two nodes.
The ...read more
Find the Lowest Common Ancestor (LCA) of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the LCA.
Handle cases where one node is an ancestor of the other or when one node is the LCA itself.
Q11. Reverse Words in a String: Problem Statement
You are given a string of length N
. Your task is to reverse the string word by word. The input may contain multiple spaces between words and may have leading or trai...read more
Reverse words in a string while handling leading/trailing spaces and multiple spaces between words.
Split the input string by spaces to get individual words
Reverse the list of words
Join the reversed words with a single space in between
Handle leading/trailing spaces by stripping them before and after reversing
Q12. Minimum Time To Solve The Problems
Given 'N' subjects, each containing a certain number of problems, and 'K' friends, assign subjects to friends such that each subject goes to exactly one friend, maintaining co...read more
Assign subjects to friends to minimize maximum workload, find minimum time for most loaded friend.
Sort subjects in descending order
Assign subjects to friends one by one until all subjects are assigned
The maximum workload will be the sum of problems assigned to the friend with the most problems
Return the maximum workload as the minimum time required
Q13. Sum Root to Leaf Numbers
You are given an arbitrary binary tree consisting of N nodes, each associated with an integer value from 1 to 9. Each root-to-leaf path can be considered a number formed by concatenatin...read more
Find the total sum of all root to leaf paths in a binary tree formed by concatenating node values.
Traverse the binary tree from root to leaf nodes, keeping track of the current path sum
Add the current path sum to the total sum when reaching a leaf node
Use modulo (10^9 + 7) to handle large outputs
Q14. Topological Sort Problem Statement
Given a Directed Acyclic Graph (DAG) consisting of V
vertices and E
edges, your task is to find any topological sorting of this DAG. You need to return an array of size V
repr...read more
Implement a function to find any topological sorting of a Directed Acyclic Graph (DAG).
Use Kahn's algorithm to find a topological sort of the DAG.
Start by finding all vertices with in-degree 0 and add them to the result array.
Remove these vertices and their outgoing edges from the graph, then repeat the process.
Continue until all vertices are added to the result array.
Return the result array as the topological sort of the DAG.
Grammar in compiler design defines the syntax and structure of a programming language.
Grammar specifies the rules for forming valid statements in a programming language.
It consists of a set of production rules that define how valid programs can be constructed.
There are different types of grammars such as context-free grammar, regular grammar, etc.
Example: In C programming language, the grammar specifies that a for loop should have a specific syntax like 'for(initialization; c...read more
Q16. 1. Write a code to split an array of integers into two subarray where both the array has equal sum.
Code to split an array of integers into two subarrays with equal sum.
Iterate through the array and calculate the total sum.
Divide the sum by 2 to get the target sum for each subarray.
Use dynamic programming to find a subset of the array that adds up to the target sum.
Return the two subarrays.
Example: [1, 2, 3, 4, 5, 6] -> [1, 2, 3, 6], [4, 5]
Example: [1, 2, 3, 4, 5] -> [1, 4, 5], [2, 3]
Q17. To write code to build up a binary tree from scratch (implement a BST) and then to write all the methods like all the tree traversal algo, and all other stuffs.
Implementing a binary search tree and its traversal methods.
Start by defining a Node class with left and right child pointers.
Implement insert() method to add nodes to the tree.
Implement inorder(), preorder(), and postorder() traversal methods.
Implement search() method to find a node in the tree.
Implement delete() method to remove a node from the tree.
Consider edge cases like empty tree, duplicate nodes, etc.
NP problems are decision problems that can be verified in polynomial time, while NP-Hard problems are at least as hard as the hardest problems in NP.
NP problems can be verified in polynomial time but not necessarily solved in polynomial time.
NP-Hard problems are at least as hard as the hardest problems in NP, but may not be in NP themselves.
Examples of NP problems include the subset sum problem and the traveling salesman problem.
Examples of NP-Hard problems include the travel...read more
A token in compiler design is a basic unit of syntax that the compiler can understand and process.
Tokens are the smallest units of a program that are meaningful to the compiler.
Examples of tokens include keywords, identifiers, operators, and punctuation symbols.
Tokens are generated by the lexical analysis phase of the compiler.
Tokens are used by the parser to build the abstract syntax tree of the program.
Q20. 2. find unique character in a window of k size in a string
Find unique characters in a window of k size in a string.
Use a sliding window approach.
Maintain a hash table to keep track of character frequency.
Remove characters from hash table as the window slides.
Q21. 1. If you given a no return its corresponding excel no.
Convert given no to corresponding excel no.
Excel no starts from 1 and goes up to 16384
Excel no is calculated using column and row numbers
For example, 1 corresponds to A, 27 corresponds to AA, 28 corresponds to AB, and so on
A regular language is a language that can be recognized by a finite automaton.
Regular languages can be described by regular expressions.
Regular languages are closed under union, concatenation, and Kleene star operations.
Examples of regular languages include the set of all strings over an alphabet that contain an even number of 'a's.
Q23. How to find the Second highest salary from employees table. Write the logic for pre-order, inorder and post-order traversal of a binary tree
To find the second highest salary from employees table and traverse a binary tree in pre-order, in-order, and post-order.
To find the second highest salary, you can use a subquery or window function like ROW_NUMBER() or DENSE_RANK().
For pre-order traversal, visit the root node first, then recursively do a pre-order traversal of the left subtree, followed by the right subtree.
For in-order traversal, recursively do an in-order traversal of the left subtree, visit the root node, ...read more
Q24. Tell me about spring boot
Spring Boot is a framework that simplifies the development of Java applications by providing pre-configured settings and tools.
Spring Boot eliminates the need for manual configuration by providing defaults for most settings.
It allows developers to create stand-alone, production-grade Spring-based Applications.
Spring Boot includes an embedded Tomcat, Jetty, or Undertow server, making it easy to deploy web applications.
It provides a range of features such as auto-configuration,...read more
Interview Process at Trion Infotech
Top Software Developer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month