Q2: Word Ladder 2 - given the begin and the end word and a list of words in a dictionary, find all shortest transformation sequence(s) from beginWord to endWord.
Q3: Remove invalid parentheses - remove the minimum number of parentheses in order to make the input string valid.
Q4: Meeting rooms 2 - given an array of meeting time intervals consisting of start and end times, find the minimum number of conference rooms required.
Q5: Alien dictionary: derive the order of the letters in a new language (toplogical sorting)
Q6: Reconstruct itinerary (Euler path for directed graph)
Q7: Max area of island.
Q8: Merge two binary trees
Q9: Integer to English words
Q10: Max stack - design a max stack that supports the operations push, pop, top, peekMax and popMax. PeekMax() should retrieve the maximum element on the stack. PopMax() should retrieve the max element on the stack and remove it.
Q11: Exclusive time of funtions: given the running logs of 'n' functions that are executed in a non-preemptive single threaded CPU, find the exclusive time of these functions.
Q12: Binary tree maximum sum path
Q13: Sliding window median (solution using multiset)
Q14: Network delay time - given times, a list of travel times as directed edges times[i] = (u, v, w) where 'u' is the source node, 'v is the target node, and 'w' is the time it takes for a signal to travel from source to target. When you send a signal from a certain node 'k', how long will it take for the signal to reach all other nodes? (application of dijkstra's shortest path algorithm).
Q15: k-closest points to origin
Q16: Most common word - given a paragraph and a list of banned words, return the most frequent word that is not in the list of banned words.
Q17: Snakes and Ladders problem (application of bfs)
Q18: Find k-pairs with smallest sum - you are given two integer arrays nums1 and nums2 sorted in ascending order and integer 'k'. Find k-pairs (u1,v1), (u2, v2), ... with the smallest sums (where one number of pair should be from array1 and the other should be from array2)
Q19: Maximum frequency stack - push(int x) should push an integer 'x' on to the stack and pop() should remove the most-frequent element on the stack.