i
Expedia Group
Filter interviews by
Clear (1)
I applied via Campus Placement and was interviewed before Feb 2023. There were 2 interview rounds.
The question involves finding the sum of right leaf nodes and swapping nodes in groups of k.
The sum of right leaf nodes can be found by traversing the tree and checking if a node is a right leaf node.
Swapping nodes in groups of k can be done by iterating through the linked list and swapping the nodes in each group.
Examples: For the sum of right leaf nodes, consider a binary tree with nodes 1, 2, 3, 4, 5. The sum would ...
posted on 12 Feb 2024
I applied via Campus Placement and was interviewed before Feb 2023. There were 2 interview rounds.
The question involves reversing nodes in groups of k and finding the sum of right leaf nodes.
Implement a function to reverse nodes in groups of k
Traverse the reversed linked list and find the sum of right leaf nodes
Handle edge cases like when the number of nodes is not a multiple of k
The question involves finding the pivot in a rotated sorted array using combinatorics and count sort.
To find the pivot in a rotated sorted array, we can use a modified binary search algorithm.
First, we compare the middle element with the first element to determine if the pivot is in the left or right half.
Then, we continue dividing the array in half and adjusting the search range based on the pivot's location.
Count sor...
Top trending discussions
The function checks if a string is a substring of another string.
Use the built-in string methods like 'indexOf' or 'includes' to check for substring.
If the language supports regular expressions, you can also use them to find substrings.
Consider the case sensitivity of the strings when comparing.
Code to multiply two matrices of dimension M*N and N*K.
Create a result matrix of dimension M*K.
Iterate through each row of the first matrix.
For each row, iterate through each column of the second matrix.
For each element in the row of the first matrix, multiply it with the corresponding element in the column of the second matrix.
Sum up the products and store the result in the corresponding position of the result matrix.
...
SQL query to perform matrix multiplication using two tables with row, col, and value columns.
Use JOIN operation to combine the two tables based on matching row and col values.
Use GROUP BY clause to group the result by row and col values.
Use SUM function to calculate the dot product of corresponding row and col values.
Use INSERT INTO statement to insert the result into a new table.
Prototype in JavaScript is an object that is associated with every function and object by default.
Prototype is used to add properties and methods to an object.
It allows objects to inherit properties and methods from other objects.
Modifying the prototype of a function affects all instances of that function.
Prototypes can be used to create new objects based on existing objects.
The prototype chain allows for property and
Classes in JavaScript are written using the class keyword.
Use the class keyword followed by the class name to define a class.
Use the constructor method to initialize class properties.
Add methods to the class using the class prototype.
Use the new keyword to create an instance of the class.
The number of different ways to climb a ladder of N steps by taking 1 or 2 steps at a time.
This is a classic problem that can be solved using dynamic programming.
The number of ways to climb N steps is equal to the sum of the number of ways to climb N-1 steps and N-2 steps.
The base cases are when N is 0 or 1, where there is only 1 way to climb the ladder.
For example, for N=4, there are 5 different ways: [1, 1, 1, 1], [1
Print a square matrix in spiral order
Start by defining the boundaries of the matrix
Iterate through the matrix in a spiral pattern, printing each element
Adjust the boundaries after each iteration to move inward
Repeat until all elements are printed
Retrieve the second highest marks obtained by each student from a table with student name, subject, and marks.
Use the RANK() function to assign a rank to each row based on the marks in descending order.
Filter the result to only include rows with rank 2 for each student.
Group the result by student name to get the second highest marks for each student.
The .live() method attaches an event handler to the current and future elements, while .delegate() attaches an event handler to a parent element.
The .live() method is deprecated in newer versions of jQuery.
The .delegate() method is preferred over .live() for performance reasons.
Both methods are used to handle events for dynamically added elements.
Example: $(document).live('click', 'button', function() { ... });
Example:...
Chaining in jQuery allows multiple methods to be called on a single element in a single line of code.
Chaining simplifies code and improves readability.
Each method in the chain operates on the result of the previous method.
The chain ends with a method that does not return a jQuery object.
Example: $('div').addClass('highlight').fadeOut();
A callback function is a function that is passed as an argument to another function and is executed later.
Callback functions are commonly used in event-driven programming.
They allow asynchronous execution of code.
Callback functions can be used to handle responses from APIs or user interactions.
They can be anonymous functions or named functions.
Example: setTimeout(function() { console.log('Hello!'); }, 1000);
The .bind() function in jQuery is used to attach an event handler function to one or more elements.
It allows you to specify the event type and the function to be executed when the event occurs.
The .bind() function can be used to bind multiple events to the same element.
It can also be used to pass additional data to the event handler function.
The .bind() function is deprecated in jQuery version 3.0 and above. It is reco
The angle between the hour and minute hands of a clock can be calculated using a formula.
The hour hand moves 30 degrees per hour and 0.5 degrees per minute.
The minute hand moves 6 degrees per minute.
Calculate the angle between the two hands using the formula: |30H - 11M/2|, where H is the hour and M is the minute.
Yes, it is possible to create a slideshow without using JavaScript.
Use CSS animations and transitions to create the slideshow.
Use HTML and CSS to structure and style the slideshow.
Utilize keyframe animations to create the slide transitions.
Use radio buttons or checkboxes to control the slideshow navigation.
Apply the :target pseudo-class to create a simple slideshow without JavaScript.
The men can take turns riding the scooter, allowing them to reach point B faster.
The men can form a queue and take turns riding the scooter.
The person riding the scooter can drop it off at a certain point and the next person can pick it up.
The scooter can be passed along the line of men until everyone reaches point B.
Print the level order traversal of binary tree in spiral form
Perform level order traversal of the binary tree
Alternate the direction of traversal for each level
Use a stack to reverse the order of nodes in each level
Print the nodes in the order of traversal
Find the maximum element in each subarray of size k in a given array.
Iterate through the array from index 0 to n-k.
For each subarray of size k, find the maximum element.
Store the maximum elements in a separate array.
Return the array of maximum elements.
To find the Kth largest element in two sorted arrays, we can use the merge step of merge sort algorithm.
Merge the two arrays into a single sorted array using a modified merge sort algorithm.
Return the Kth element from the merged array.
Merge two sorted arrays into one sorted array with expected time complexity of (m+n).
Use a two-pointer approach to compare elements from both arrays and merge them into the first array.
Start comparing elements from the end of both arrays and place the larger element at the end of the first array.
Continue this process until all elements from the second array are merged into the first array.
The algorithm finds the position of the 3rd occurrence of 'B' in an n-ary tree from a given index in constant time complexity.
Traverse the n-ary tree using a depth-first search (DFS) algorithm
Keep track of the count of 'B' occurrences
When the count reaches 3, return the current position
If the end of the tree is reached before the 3rd 'B', return -1
Check if a given string is a composite of two words from a limited dictionary.
Create a hash set of all the words in the dictionary.
Iterate through all possible pairs of substrings in the given string.
Check if both substrings are present in the hash set.
If yes, return true. Else, return false.
Switch adjacent nodes in a single linked list.
Traverse the linked list and swap adjacent nodes.
Keep track of previous node to update its next pointer.
Handle edge cases for first two nodes and last node.
Example: 1->2->3->4 becomes 2->1->4->3.
Traverse only the left sub-tree of a binary search tree.
Start at the root node
If the left child exists, visit it and repeat the process
If the left child does not exist, return to the parent node
Continue until all nodes in the left sub-tree have been visited
Design an efficient data structure for two lifts in a building of n floors.
Use a priority queue to keep track of the floors each lift is heading to
Implement a scheduling algorithm to determine which lift to assign to a new request
Consider adding a weight limit to each lift to prevent overloading
Use a hash table to keep track of the current location of each lift
To find the maximum number that can be formed from the digits of an integer.
Convert the integer to a string
Sort the characters in descending order
Join the sorted characters to form the maximum number
Reverse all the words in a given string
Split the string into an array of words
Loop through the array and reverse each word
Join the reversed words back into a string
Explaining how to handle 'n' in a string during swapping process
Identify the positions of 'n' in the string
Exclude those positions from the swapping process
Use a temporary variable to swap the characters
Ensure the swapped characters are not 'n'
Return the modified string
We can use any sorting algorithm like quicksort, mergesort, heapsort, etc.
Choose the appropriate sorting algorithm based on the size of the file and the range of numbers
Implement the chosen algorithm in the programming language of choice
Read the numbers from the file into an array or list
Apply the sorting algorithm to the array or list
Write the sorted numbers back to the file
Word suggestions in Eclipse can be implemented using algorithms like Trie or N-gram models.
Use Trie data structure to store the dictionary of words
Implement auto-complete feature using Trie
Use N-gram models to suggest words based on context
Train the N-gram model on a large corpus of text data
Combine both approaches for better accuracy
Consider user's typing speed and frequency of words for better suggestions
To check if a number k lies in a sequence formed by adding previous 2 elements, start with a=0 and b=1 and iterate until k is found or exceeded.
Start with a=0 and b=1
Iterate through the sequence until k is found or exceeded
If k is found, return true. If exceeded, return false
Check if a Binary Tree is a Binary Search Tree (BST)
A BST has the property that all nodes in the left subtree of a node have values less than the node's value, and all nodes in the right subtree have values greater than the node's value
We can traverse the tree in-order and check if the resulting sequence is sorted
Alternatively, we can recursively check if each node satisfies the BST property
Keep track of kth largest number in a stream of numbers.
Use a min-heap of size k to keep track of kth largest number.
For each incoming number, compare it with the root of the heap.
If it is larger than the root, replace the root with the new number and heapify.
The root of the heap will always be the kth largest number.
Infix expression can be evaluated using the concept of operator precedence and associativity.
Convert the infix expression to postfix expression using stack data structure
Evaluate the postfix expression using stack data structure
Use operator precedence and associativity rules to determine the order of evaluation
Parentheses can be used to override the default order of evaluation
I applied via Referral
Design optimal data structures for LRU cache
Use a doubly linked list to keep track of recently used items
Use a hash table to store key-value pairs for quick access
When an item is accessed, move it to the front of the linked list
When the cache is full, remove the least recently used item from the back of the linked list and hash table
Convert a sorted array to balanced binary search tree
Find the middle element of the array and make it the root of the tree
Recursively construct the left subtree using the left half of the array
Recursively construct the right subtree using the right half of the array
Repeat until all elements are added to the tree
Reverse a singly linked list in groups of k inplace
Divide the linked list into groups of k nodes
Reverse each group of k nodes
Connect the reversed groups to form the final linked list
Optimal data structure for storing words and their meanings
Use a hash table with the word as the key and a list of meanings as the value
Each meaning can be stored as a string or an object with additional information
Consider using a trie data structure for efficient prefix search
Implement a search function that can handle partial matches and synonyms
A recursive routine to calculate a ^ n
The base case is when n is 0, in which case the result is 1
For any other value of n, the result is a multiplied by the result of a^(n-1)
The recursive function should call itself with a^(n-1) as the new input
Design optimal data structure for never-ending stream of numbers for insertion, deletion, searching, kth largest and kth smallest.
Use a balanced binary search tree like AVL or Red-Black tree for efficient insertion, deletion, and searching.
Maintain two heaps, one for kth largest and one for kth smallest.
For finding kth largest, use a min heap of size k and for kth smallest, use a max heap of size k.
Alternatively, use a...
I was interviewed in Oct 2016.
based on 2 interviews
Interview experience
based on 1 review
Rating in categories
Software Development Engineer II
192
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Development Engineer
94
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Development Engineer 3
73
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
66
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
56
salaries
| ₹0 L/yr - ₹0 L/yr |
MakeMyTrip
Yatra
Cleartrip
Goibibo