How to find pairs in an array with a given difference N between them in VB.NET

1 Answer

0 votes
Imports System
Imports System.Collections.Generic

Public Class Program
    Public Shared Sub findPairs(ByVal arr As Integer(), ByVal diff As Integer)
        Dim _set As ISet(Of Integer) = New HashSet(Of Integer)()

        For Each i As Integer In arr
            If _set.Contains(i - diff) Then
                Console.WriteLine(i & ", " & (i - diff))
            End If

            If _set.Contains(i + diff) Then
                Console.WriteLine((i + diff) & ", " & i)
            End If

            _set.Add(i)
        Next
    End Sub

    Public Shared Sub Main(ByVal args As String())
        Dim arr As Integer() = New Integer() {4, 1, 7, 5, 8, 6, 9, 10, 12, 11}
	
        Dim diff As Integer = 3
	
        findPairs(arr, diff)
    End Sub
End Class





' run:
'
' 4, 1
' 7, 4
' 8, 5
' 9, 6
' 10, 7
' 12, 9
' 11, 8
'

 



answered Jul 16, 2022 by avibootz
...