Problem Description
Given a stream of numbers A. On arrival of each number, you need to increase its first occurrence by 1 and include this in the stream.
Return the final stream of numbers.
Note: You will traverse the stream from left to right and update the first occurrence of the number by 1, if found.
1 <= |A| <= 100000
1 <= A[i] <= 10000
First and only argument is the array A.
Return an array, the final stream of numbers.
Input 1:
A = [1, 1]
Input 2:
A = [1, 2]
Input 3:
A = [1, 1, 2, 2]
Output 1:
[2, 1]
Output 2:
[1, 2]
Output 3:
[3, 1, 3, 2]
Explanation 1:
On arrival of the second element, the other element is increased by 1.
Explanation 2:
No increases are to be done.
Explanation 3:
Stream after arrival of numbers (1-based indexing):
First number (1): [1] , Simply push 1 to the stream Second number (1): [2, 1] , Increment first occurence of 1, present at 1st Index and push 1 to the stream Third number (2): [3, 1, 2] , Increment first occurence of 2, present at 1st Index and push 2 to the stream Fourth number (2): [3, 1, 3, 2] , Increment first occurence of 2, present at 3rd Index and push 2 to the stream
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.