How to use to make sorted array elements unique with minimum increments in VB.NET

1 Answer

0 votes
Imports System
 
Public Class Program
    Public Shared Sub make_unique(ByVal arr As Integer())
        Dim previous As Integer = arr(0)
 
        For i As Integer = 1 To arr.Length - 1
 
            If arr(i) <= previous Then
                arr(i) = previous
                arr(i) += 1
            End If
 
            previous = arr(i)
        Next
    End Sub
 
    Public Shared Sub Main()
        Dim arr As Integer() = {1, 1, 2, 2, 3, 3, 7, 8, 8, 8, 12, 15, 33, 33, 33}
     
        make_unique(arr)
     
        Console.Write(String.Join(", ", arr))
    End Sub
End Class
 
 
 
' run:
'
' 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 33, 34, 35
'

 



answered Dec 11, 2021 by avibootz
edited Dec 11, 2021 by avibootz
...