Round 1:
Validate an infix arithmetic expression string (braces and brackets are similar to parentheses): (1+2)*{[90*3]-[67+8-9]}
Proposed Ans: Djikstra’s Shunting yard
Interviewer’s Ans: Parser Tree
Round 2:
Given a shelf of books, categorise those books according to any particular property of a book e.g. Alphabetic increasing author’s name, category, date of publish etc. The value of the property of the book has to be fetched from an external service and the call is expensive.
Constraints: O(1) space, the calls to get the priority of a book should be as minimized as possible.
Proposed Ans: Quick sort with a priority map associated with the property of the book, a modified partitioning scheme where every element’s priority is fetched once, total of nlogn calls.
Constraint variation: Minimum swaps.
Proposed Ans:
1. Selection sort with O(n^2) time and O(1) space. – n swaps
2. Bucket sort with O(n) space and time. – 0 swaps
Round 3:
Given a very long string and a transformation map, replace all the occurrences of any needle strings with their resultant transformations e.g.
input_string = “abcd;lt;qwer;gt;asd;”
map = { ";lt;" : "<" , ";gt;" : ">" }
transform(input_string, map)
|
Proposed Ans: Naive solution by processing character by character and replacing the suffix if it matches with any of the needles.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!