I have a D-dimension vector and I want to obtain a vector where duplicates are replaced by random numbers in [1,D]. The final vector must have all different values from 1 to D preserving non-duplicates order.
For example take D=6:
[2,4,5,4,1,2]
Isolate the unique numbers:
[2,4,5,-,1,-]
Then put the remaining 3 and 6 values:
[2,4,5,6,1,3] or [2,4,5,3,1,6]
What's an efficient way to do it?
Best Answer