I recently had to solve this problem for a test, but was not able to find an efficient solution for the same.
Is it possible to make 'n' insertions to a linked list efficiently when we are given the positions of all insertion, and the element which has to be inserted.
Eg: position = [0,1,2,1,2] , elements = [5,6,7,8,9], list = []
So basically the operations we would be doing are
- add 5 at 0th index in list =>
list = [5] - add 6 at 1st index in list =>
list = [5, 6] - add 7 at 2nd index in list =>
list = [5, 6, 7] - add 8 at 1st index in list =>
list = [5, 8, 6, 7] - add 9 at 2nd index in list =>
list = [5, 8, 9, 6, 7]
So the final list would be [5, 8, 9, 6, 7]
Does anyone know an efficient solution for the same? (better than O(n^2)) In the original problem the elements to be inserted are between 0 to n-1



