亚麻SDE2上门

Given a infinite stream of intergers, construct the list of pairs where each pair represents all the integer elements between the range of two elements. Maintain the updated List of pairs. Print/Output the updated list after each encounter of an integer in the stream

Stream till now : 7,10,15,9,8,3,2,5,…
Output of list till now :
[[7,10],[15,15],[2,5]]
say there is integer 6 in coming as next element in the stream:
Updated List of pairs or Array of pairs would be:
[[2,10],[15,15]]

Note: If a pair is [1,4] then you have all the integers [1,2,3,4] from the stream, [9,13] represents [9,10,11,12,13] etc, else you have to add a self element pair into the list like [x,x] if number x doesn’t fall under a range in contructed pairs of your existing list. Update and output the list of pairs as you read the stream of integers.

I know, the question is bit unclear and confusing. I hope the below detailed example will clarify and make the question simpler.

For Example:
Stream of integers […]:

1,…
Updated List : [[1,1]] -> as there is only one element in the stream now.

1,3,…
List : [[1,1] , [3,3]] -> there is no 2 between 1 and 3 number till now so 3 would have separate self pair.

1,3,2,…
List: [[1,3]] -> as 2 arrived in the stream, list gets updated to 1,3 as it includes 1,2,3 [ all the elements in between the range], discarded the [3,3] pair.

1,3,2,7,…
List : [[1,3],[7,7]] -> similary after integer 3 and before 7 there are missing elements.

1,3,2,7,9,…
List : [[1,3],[7,7],[9,9]]

1,3,2,7,9,5,…
List : [[1,3],[7,7],[9,9],[5,5]]

1,3,2,7,9,5,6,…
List: [[1,3],[5,7],[9,9]]

1,3,2,7,9,5,6,4,…
List: [[1,7],[9,9]]

1,3,2,7,9,5,6,4,8,…
List : [[1,9]]

and so on…