Tata 1mg
10+ Datamatics Global Services Interview Questions and Answers
Q1. Biggest Number Formation Problem
Your task is to construct the largest number possible by concatenating each of the provided positive integers in the array exactly once.
Input:
Integer T denoting the number of ...read more
Construct the largest number by concatenating positive integers in the array exactly once.
Sort the array of integers in a way that the concatenation of the numbers forms the largest possible number.
Use a custom comparator function to sort the numbers based on their concatenated values.
Join the sorted array elements to form the final largest number.
Q2. Longest Palindromic Subsequence Problem Statement
Given a string A
consisting of lowercase English letters, determine the length of the longest palindromic subsequence within A
.
Explanation:
- A subsequence is d...read more
The task is to find the length of the longest palindromic subsequence in a given string.
A subsequence is a sequence generated from a string after deleting some or no characters of the string without changing the order of the remaining string characters.
A string is said to be palindrome if the reverse of the string is the same as the actual string.
Find the longest palindromic subsequence by considering all possible subsequences of the given string.
Use dynamic programming to ef...read more
Q3. Rotational Equivalence of Strings Problem Statement
Given two strings 'P' and 'Q' of equal length, determine if string 'P' can be transformed into string 'Q' by cyclically rotating it to the right any number of...read more
The task is to check if one string can be converted into another string by cyclically rotating it to the right any number of times.
Iterate through each character of the first string and check if it matches the corresponding character in the second string after a certain number of cyclic rotations.
If all characters match for any number of cyclic rotations, then the first string can be converted into the second string.
Use modulo arithmetic to handle cyclic rotations efficiently...read more
Q4. Cache Operations Problem
You are provided with a cache that can hold a maximum of 'N' elements. Initially, this cache is empty. There are two main operations you can perform on this cache:
Explanation:
- Operati...read more
Implement a cache with insert, update, and retrieve operations, returning results of retrieve operations in order.
Create a cache data structure with specified size 'N'.
Implement insert and update operations based on the given criteria.
For retrieve operation, return the value associated with the 'U_ID' if present, else return -1.
Handle cases where the cache is full and least frequently used items need to be removed.
Return the results of all retrieve operations in the order the...read more
Q5. Number of Longest Increasing Subsequence Problem Statement
Given an integer array ARR
of length N
, determine the count of longest increasing subsequences present in the array.
Explanation:
The Longest Increasin...read more
Count the number of longest increasing subsequences in an integer array.
Identify the longest increasing subsequences in the array
Count the number of such subsequences
Consider the constraints while implementing the solution
Examples: For input [50, 3, 90, 60, 80], the output is 2
Q6. Next Greater Element Problem Statement
You are provided with an array or list ARR
containing N
positive integers. Your task is to determine the Next Greater Element (NGE) for each element in the array.
The Next...read more
The task is to find the next greater element for each element in an array.
Iterate through the array from right to left
Use a stack to keep track of the elements
For each element, pop elements from the stack until a greater element is found or the stack is empty
If a greater element is found, it is the next greater element for the current element
If the stack becomes empty, there is no greater element to the right
Store the next greater element for each element in a result array
Q7. Merge Two Sorted Linked Lists Problem Statement
You are provided with two sorted linked lists. Your task is to merge them into a single sorted linked list and return the head of the combined linked list.
Input:...read more
The task is to merge two sorted linked lists into a single sorted linked list.
Create a new linked list to store the merged list
Compare the values of the nodes from both lists and add the smaller value to the new list
Move the pointer of the list with the smaller value to the next node
Repeat the comparison and addition until one of the lists is empty
Add the remaining nodes from the non-empty list to the new list
Return the head of the new list
Q8. Maximum Subarray Sum Problem Statement
Given an array arr
of length N
consisting of integers, find the sum of the subarray (including empty subarray) with the maximum sum among all subarrays.
Explanation:
A sub...read more
Find the sum of the subarray with the maximum sum among all subarrays in a given array.
Iterate through the array and keep track of the maximum sum subarray seen so far.
Use Kadane's algorithm to efficiently find the maximum subarray sum.
Handle cases where all elements are negative by returning the maximum element in the array.
Consider the sum of an empty subarray as 0.
Q9. LRU Cache Implementation
Design and implement a data structure for the Least Recently Used (LRU) cache, which supports the following operations:
1. get(key) - Return the value associated with the key if it exis...read more
Implement a Least Recently Used (LRU) cache data structure with get and put operations.
Use a combination of a hashmap and a doubly linked list to efficiently implement the LRU cache.
Keep track of the least recently used item and remove it when the cache reaches its capacity.
Update the position of an item in the cache whenever it is accessed or updated.
Ensure constant time complexity for both get and put operations by using the hashmap for quick lookups.
Handle edge cases such ...read more
Q10. Shortest Unique Prefix Problem
You are given an array containing N
words. Your task is to derive the shortest prefix for each word that uniquely identifies it amongst the other words. For instance, given the wo...read more
Given an array of words, find the shortest unique prefix for each word.
Create a Trie data structure to efficiently store and search for prefixes.
Traverse the Trie to find the shortest unique prefix for each word.
Return the list of shortest unique prefixes for all words.
Q11. Possible Words from a Phone Number: Problem Statement
Given a string S
composed of digits ranging from 2 to 9, determine all possible strings that can be created by mapping these digits to their corresponding l...read more
Given a phone number, generate all possible words by mapping digits to letters on a T9 keypad.
Create a mapping of digits to letters on a T9 keypad
Use recursion to generate all possible combinations of letters for the given phone number
Sort the resulting strings in lexicographical order
Q12. Align two images in a page with same width and same height
Use CSS to align two images with same width and height on a page
Set both images to have the same width and height using CSS
Use flexbox or grid layout to align the images horizontally or vertically
Adjust margins or padding to fine-tune the alignment
Interview Process at Datamatics Global Services
Top Software Developer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month