# Find the minimum distance between two numbers

Here given code implementation process.

// C Program
// Find the minimum distance between two numbers
#include <stdio.h>

//Display elements of given array
void printArray(int arr[], int size)
{
for (int i = 0; i < size; ++i)
{
printf("  %d", arr[i]);
}
printf("\n");
}
// Returns the calculated minimum distance
int distance(int e1, int e2, int diff)
{
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
void minimumDistance(int arr[], int size, int x, int y)
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
int e1 = -1;
int e2 = -1;
int diff = -1;
for (int i = 0; i < size; ++i)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = distance(e1, e2, diff);
}
}
}
else if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = distance(e1, e2, diff);
}
}
}
if (e1 == -1 || e2 == -1)
{
printf("\n Pair (%d,%d) are not exists", x, y);
}
else
{
printf("  Minimum distance of pair (%d,%d) is : %d \n", x, y, diff);
}
}
int main(int argc, char const *argv[])
{
// Define array of integer elements
int arr[] = {
4 , 2 , 8 , 2 , 3 , 7 , 1 , 4 , 6 , 1 , 4 , 6 , 8 , 2 , 3
};
// Get the size
int size = sizeof(arr) / sizeof(arr[0]);
printf("  Array Element \n");
printArray(arr, size);
// x = 2, y = 6
minimumDistance(arr, size, 2, 6);
// x = 4, y = 4
minimumDistance(arr, size, 4, 4);
return 0;
}

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
/*
Java Program
Find the minimum distance between two numbers
*/
public class FindDistance
{
//Display elements of given array
public void printArray(int[] arr, int size)
{
for (int i = 0; i < size; ++i)
{
System.out.print("  " + arr[i]);
}
System.out.print("\n");
}
// Returns the calculated minimum distance
public int distance(int e1, int e2, int diff)
{
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
public void minimumDistance(int[] arr, int size, int x, int y)
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
int e1 = -1;
int e2 = -1;
int diff = -1;
for (int i = 0; i < size; ++i)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = distance(e1, e2, diff);
}
}
}
else if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = distance(e1, e2, diff);
}
}
}
if (e1 == -1 || e2 == -1)
{
System.out.print("\n Pair (" + x + "," + y + ") are not exists");
}
else
{
System.out.print(" Minimum distance of pair (" + x + "," + y + ") is : " + diff + " \n");
}
}
public static void main(String args[])
{
// Define array of integer elements
int[] arr = {
4 , 2 , 8 , 2 , 3 , 7 , 1 , 4 , 6 , 1 , 4 , 6 , 8 , 2 , 3
};
// Get the size
int size = arr.length;
System.out.print(" Array Element \n");
// x = 2, y = 6
// x = 4, y = 4
}
}

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
#include <iostream>

using namespace std;
/*
C++ Program
Find the minimum distance between two numbers
*/
class FindDistance
{
public:
//Display elements of given array
void printArray(int arr[], int size)
{
for (int i = 0; i < size; ++i)
{
cout << "  " << arr[i];
}
cout << "\n";
}
// Returns the calculated minimum distance
int distance(int e1, int e2, int diff)
{
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
void minimumDistance(int arr[], int size, int x, int y)
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
int e1 = -1;
int e2 = -1;
int diff = -1;
for (int i = 0; i < size; ++i)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = this->distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = this->distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = this->distance(e1, e2, diff);
}
}
}
else if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = this->distance(e1, e2, diff);
}
}
}
if (e1 == -1 || e2 == -1)
{
cout << "\n Pair (" << x << "," << y << ") are not exists";
}
else
{
cout << " Minimum distance of pair (" << x << "," << y << ") is : " << diff << " \n";
}
}
};
int main()
{
// Define array of integer elements
int arr[] = {
4 , 2 , 8 , 2 , 3 , 7 , 1 , 4 , 6 , 1 , 4 , 6 , 8 , 2 , 3
};
// Get the size
int size = sizeof(arr) / sizeof(arr[0]);
cout << " Array Element \n";
// x = 2, y = 6
// x = 4, y = 4
return 0;
}

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
// Include namespace system
using System;
/*
C# Program
Find the minimum distance between two numbers
*/
public class FindDistance
{
//Display elements of given array
public void printArray(int[] arr, int size)
{
for (int i = 0; i < size; ++i)
{
Console.Write("  " + arr[i]);
}
Console.Write("\n");
}
// Returns the calculated minimum distance
public int distance(int e1, int e2, int diff)
{
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
public void minimumDistance(int[] arr, int size, int x, int y)
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
int e1 = -1;
int e2 = -1;
int diff = -1;
for (int i = 0; i < size; ++i)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = distance(e1, e2, diff);
}
}
}
else if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = distance(e1, e2, diff);
}
}
}
if (e1 == -1 || e2 == -1)
{
Console.Write("\n Pair (" + x + "," + y + ") are not exists");
}
else
{
Console.Write(" Minimum distance of pair (" + x + "," + y + ") is : " + diff + " \n");
}
}
public static void Main(String []args)
{
// Define array of integer elements
int[] arr = {
4 , 2 , 8 , 2 , 3 , 7 , 1 , 4 , 6 , 1 , 4 , 6 , 8 , 2 , 3
};
// Get the size
int size = arr.Length;
Console.Write(" Array Element \n");
// x = 2, y = 6
// x = 4, y = 4
}
}

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
<?php
/*
Php Program
Find the minimum distance between two numbers
*/
class FindDistance
{
//Display elements of given array
public	function printArray( & \$arr, \$size)
{
for (\$i = 0; \$i < \$size; ++\$i)
{
echo "  ". \$arr[\$i];
}
echo "\n";
}
// Returns the calculated minimum distance
public	function distance(\$e1, \$e2, \$diff)
{
if (\$e1 > \$e2)
{
if (\$diff == -1 || \$e1 - \$e2 < \$diff)
{
return \$e1 - \$e2;
}
}
else
{
if (\$diff == -1 || \$e2 - \$e1 < \$diff)
{
return \$e2 - \$e1;
}
}
return \$diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
public	function minimumDistance( & \$arr, \$size, \$x, \$y)
{
if (\$size <= 1)
{
// Not more than 2 elements
return;
}
\$e1 = -1;
\$e2 = -1;
\$diff = -1;
for (\$i = 0; \$i < \$size; ++\$i)
{
if (\$arr[\$i] == \$x)
{
// When get a new x element
if (\$x == \$y)
{
// When x and y is similar
if (\$e1 == -1)
{
// Get first element
\$e1 = \$i;
}
else if (\$e2 == -1)
{
// Get second element
\$e2 = \$i;
// Get distance
\$diff = \$this->distance(\$e1, \$e2, \$diff);
}
else
{
\$e1 = \$e2;
\$e2 = \$i;
// Get distance
\$diff = \$this->distance(\$e1, \$e2, \$diff);
}
}
else
{
\$e1 = \$i;
if (\$e2 != -1)
{
// Get distance
\$diff = \$this->distance(\$e1, \$e2, \$diff);
}
}
}
else if (\$arr[\$i] == \$y)
{
// When get a new y element
\$e2 = \$i;
if (\$e1 != -1)
{
// Get distance
\$diff = \$this->distance(\$e1, \$e2, \$diff);
}
}
}
if (\$e1 == -1 || \$e2 == -1)
{
echo "\n Pair (". \$x .",". \$y .") are not exists";
}
else
{
echo " Minimum distance of pair (". \$x .",". \$y .") is : ". \$diff ." \n";
}
}
}

function main()
{
// Define array of integer elements
\$arr = array(4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3);
// Get the size
\$size = count(\$arr);
echo " Array Element \n";
// x = 2, y = 6
// x = 4, y = 4
}
main();

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
/*
Node Js Program
Find the minimum distance between two numbers
*/
class FindDistance
{
// Display elements of given array
printArray(arr, size)
{
for (var i = 0; i < size; ++i)
{
process.stdout.write("  " + arr[i]);
}
process.stdout.write("\n");
}
// Returns the calculated minimum distance
distance(e1, e2, diff)
{
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
minimumDistance(arr, size, x, y)
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
var e1 = -1;
var e2 = -1;
var diff = -1;
for (var i = 0; i < size; ++i)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = this.distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = this.distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = this.distance(e1, e2, diff);
}
}
}
else if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = this.distance(e1, e2, diff);
}
}
}
if (e1 == -1 || e2 == -1)
{
process.stdout.write("\n Pair (" + x + "," + y + ") are not exists");
}
else
{
process.stdout.write(" Minimum distance of pair (" + x + "," + y + ") is : " + diff + " \n");
}
}
}

function main()
{
// Define array of integer elements
var arr = [4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3];
// Get the size
var size = arr.length;
process.stdout.write(" Array Element \n");
// x = 2, y = 6
// x = 4, y = 4
}
main();

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
#  Python 3 Program
#  Find the minimum distance between two numbers

class FindDistance :
# Display elements of given array
def printArray(self, arr, size) :
i = 0
while (i < size) :
print("  ", arr[i], end = "")
i += 1

print(end = "\n")

#  Returns the calculated minimum distance
def distance(self, e1, e2, diff) :
if (e1 > e2) :
if (diff == -1 or e1 - e2 < diff) :
return e1 - e2

else :
if (diff == -1 or e2 - e1 < diff) :
return e2 - e1

return diff

#  Finds the minimum distance of given elements (x and y)
#  When element is exists in array
def minimumDistance(self, arr, size, x, y) :
if (size <= 1) :
#  Not more than 2 elements
return

e1 = -1
e2 = -1
diff = -1
i = 0
while (i < size) :
if (arr[i] == x) :
#  When get a new x element
if (x == y) :
#  When x and y is similar
if (e1 == -1) :
#  Get first element
e1 = i

elif(e2 == -1) :
#  Get second element
e2 = i
#  Get distance
diff = self.distance(e1, e2, diff)
else :
e1 = e2
e2 = i
#  Get distance
diff = self.distance(e1, e2, diff)

else :
e1 = i
if (e2 != -1) :
#  Get distance
diff = self.distance(e1, e2, diff)

elif(arr[i] == y) :
#  When get a new y element
e2 = i
if (e1 != -1) :
#  Get distance
diff = self.distance(e1, e2, diff)

i += 1

if (e1 == -1 or e2 == -1) :
print("\n Pair (", x ,",", y ,") are not exists", end = "")
else :
print(" Minimum distance of pair (", x ,",", y ,") is : ", diff ," ")

def main() :
#  Define array of integer elements
arr = [4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3]
#  Get the size
size = len(arr)
print(" Array Element ")
#  x = 2, y = 6
#  x = 4, y = 4

if __name__ == "__main__": main()

#### Output

Array Element
4   2   8   2   3   7   1   4   6   1   4   6   8   2   3
Minimum distance of pair ( 2 , 6 ) is :  2
Minimum distance of pair ( 4 , 4 ) is :  3
#  Ruby Program
#  Find the minimum distance between two numbers

class FindDistance
# Display elements of given array
def printArray(arr, size)
i = 0
while (i < size)
print("  ", arr[i])
i += 1
end

print("\n")
end

#  Returns the calculated minimum distance
def distance(e1, e2, diff)
if (e1 > e2)
if (diff == -1 || e1 - e2 < diff)
return e1 - e2
end

else
if (diff == -1 || e2 - e1 < diff)
return e2 - e1
end

end

return diff
end

#  Finds the minimum distance of given elements (x and y)
#  When element is exists in array
def minimumDistance(arr, size, x, y)
if (size <= 1)
#  Not more than 2 elements
return
end

e1 = -1
e2 = -1
diff = -1
i = 0
while (i < size)
if (arr[i] == x)
#  When get a new x element
if (x == y)
#  When x and y is similar
if (e1 == -1)
#  Get first element
e1 = i
elsif(e2 == -1)
#  Get second element
e2 = i
#  Get distance
diff = self.distance(e1, e2, diff)
else
e1 = e2
e2 = i
#  Get distance
diff = self.distance(e1, e2, diff)
end

else
e1 = i
if (e2 != -1)
#  Get distance
diff = self.distance(e1, e2, diff)
end

end

elsif(arr[i] == y)
#  When get a new y element
e2 = i
if (e1 != -1)
#  Get distance
diff = self.distance(e1, e2, diff)
end

end

i += 1
end

if (e1 == -1 || e2 == -1)
print("\n Pair (", x ,",", y ,") are not exists")
else
print(" Minimum distance of pair (", x ,",", y ,") is : ", diff ," \n")
end

end

end

def main()
#  Define array of integer elements
arr = [4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3]
#  Get the size
size = arr.length
print(" Array Element \n")
#  x = 2, y = 6
#  x = 4, y = 4
end

main()

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
/*
Scala Program
Find the minimum distance between two numbers
*/
class FindDistance
{
//Display elements of given array
def printArray(arr: Array[Int], size: Int): Unit = {
var i: Int = 0;
while (i < size)
{
print("  " + arr(i));
i += 1;
}
print("\n");
}
// Returns the calculated minimum distance
def distance(e1: Int, e2: Int, diff: Int): Int = {
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
def minimumDistance(arr: Array[Int], size: Int, x: Int, y: Int): Unit = {
if (size <= 1)
{
// Not more than 2 elements
return;
}
var e1: Int = -1;
var e2: Int = -1;
var diff: Int = -1;
var i: Int = 0;
while (i < size)
{
if (arr(i) == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = this.distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = this.distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = this.distance(e1, e2, diff);
}
}
}
else if (arr(i) == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = this.distance(e1, e2, diff);
}
}
i += 1;
}
if (e1 == -1 || e2 == -1)
{
print("\n Pair (" + x + "," + y + ") are not exists");
}
else
{
print(" Minimum distance of pair (" + x + "," + y + ") is : " + diff + " \n");
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: FindDistance = new FindDistance();
// Define array of integer elements
var arr: Array[Int] = Array(4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3);
// Get the size
var size: Int = arr.length;
print(" Array Element \n");
// x = 2, y = 6
// x = 4, y = 4
}
}

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3
/*
Swift 4 Program
Find the minimum distance between two numbers
*/
class FindDistance
{
//Display elements of given array
func printArray(_ arr: [Int], _ size: Int)
{
var i: Int = 0;
while (i < size)
{
print("  ", arr[i], terminator: "");
i += 1;
}
print(terminator: "\n");
}
// Returns the calculated minimum distance
func distance(_ e1: Int, _ e2: Int, _ diff: Int)->Int
{
if (e1 > e2)
{
if (diff == -1 || e1 - e2 < diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1 < diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
func minimumDistance(_ arr: [Int], _ size: Int, _ x: Int, _ y: Int)
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
var e1: Int = -1;
var e2: Int = -1;
var diff: Int = -1;
var i: Int = 0;
while (i < size)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = self.distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = self.distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = self.distance(e1, e2, diff);
}
}
}
else if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = self.distance(e1, e2, diff);
}
}
i += 1;
}
if (e1 == -1 || e2 == -1)
{
print("\n Pair (", x ,",", y ,") are not exists", terminator: "");
}
else
{
print(" Minimum distance of pair (", x ,",", y ,") is : ", diff ," ");
}
}
}
func main()
{
// Define array of integer elements
let arr: [Int] = [4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3];
// Get the size
let size: Int = arr.count;
print(" Array Element ");
// x = 2, y = 6
// x = 4, y = 4
}
main();

#### Output

Array Element
4   2   8   2   3   7   1   4   6   1   4   6   8   2   3
Minimum distance of pair ( 2 , 6 ) is :  2
Minimum distance of pair ( 4 , 4 ) is :  3
/*
Kotlin Program
Find the minimum distance between two numbers
*/
class FindDistance
{
//Display elements of given array
fun printArray(arr: Array<Int>, size: Int): Unit
{
var i: Int = 0;
while (i<size)
{
print("  " + arr[i]);
i += 1;
}
print("\n");
}
// Returns the calculated minimum distance
fun distance(e1: Int, e2: Int, diff: Int): Int
{
if (e1>e2)
{
if (diff == -1 || e1 - e2<diff)
{
return e1 - e2;
}
}
else
{
if (diff == -1 || e2 - e1<diff)
{
return e2 - e1;
}
}
return diff;
}
// Finds the minimum distance of given elements (x and y)
// When element is exists in array
fun minimumDistance(arr: Array<Int>, size: Int, x: Int, y: Int): Unit
{
if (size <= 1)
{
// Not more than 2 elements
return;
}
var e1: Int = -1;
var e2: Int = -1;
var diff: Int = -1;
var i: Int = 0;
while (i<size)
{
if (arr[i] == x)
{
// When get a new x element
if (x == y)
{
// When x and y is similar
if (e1 == -1)
{
// Get first element
e1 = i;
}
else
if (e2 == -1)
{
// Get second element
e2 = i;
// Get distance
diff = this.distance(e1, e2, diff);
}
else
{
e1 = e2;
e2 = i;
// Get distance
diff = this.distance(e1, e2, diff);
}
}
else
{
e1 = i;
if (e2 != -1)
{
// Get distance
diff = this.distance(e1, e2, diff);
}
}
}
else
if (arr[i] == y)
{
// When get a new y element
e2 = i;
if (e1 != -1)
{
// Get distance
diff = this.distance(e1, e2, diff);
}
}
i += 1;
}
if (e1 == -1 || e2 == -1)
{
print("\n Pair (" + x + "," + y + ") are not exists");
}
else
{
print(" Minimum distance of pair (" + x + "," + y + ") is : " + diff + " \n");
}
}
}
fun main(args: Array<String>): Unit
{
// Define array of integer elements
var arr: Array<Int> = arrayOf(4, 2, 8, 2, 3, 7, 1, 4, 6, 1, 4, 6, 8, 2, 3);
// Get the size
var size: Int = arr.count();
print(" Array Element \n");
// x = 2, y = 6
// x = 4, y = 4
}

#### Output

Array Element
4  2  8  2  3  7  1  4  6  1  4  6  8  2  3
Minimum distance of pair (2,6) is : 2
Minimum distance of pair (4,4) is : 3

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.