Find max distance between similar occurrences
Here given code implementation process.
// C Program
// Find Max Distance between two occurrences of the same element
#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]);
}
}
// Find maximum distance between 2 similar elements
void maxDistance(int arr[], int size)
{
// Define auxiliary resultant variables
int max = -1;
int element = 0;
// Loop controlling variables
int i = 0;
int j = 0;
// Outer loop
for (i = 0; i < size && i + max < size; ++i)
{
// Find similar elements which is exist in maximum distance in right side
for (j = size - 1; j > i; --j)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
j = i;
// Or use break statement here
}
}
}
if (max == -1)
{
// That means no duplicate element exist in this loop
printf("\n None");
}
else
{
printf("\n Maximum Distance of similar elements [%d] is : %d\n", element, max);
}
}
int main(int argc, char const *argv[])
{
// Define array of integer elements
int arr1[] = {
3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
};
int arr2[] = {
1 , 4 , 2 , 3 , 2 , 7
};
// Get the size
int size = sizeof(arr1) / sizeof(arr1[0]);
printf(" Array elements \n");
printArray(arr1, size);
maxDistance(arr1, size);
// Get the size
size = sizeof(arr2) / sizeof(arr2[0]);
printf("\n Array elements \n");
printArray(arr2, size);
maxDistance(arr2, size);
return 0;
}
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
/*
Java Program
Find Max Distance between two occurrences of the same element
*/
public class Distance
{
//Display elements of given array
public void printArray(int[] arr, int size)
{
for (int i = 0; i < size; ++i)
{
System.out.print(" " + arr[i] );
}
}
// Find maximum distance between 2 similar elements
public void maxDistance(int[] arr, int size)
{
// Define auxiliary resultant variables
int max = -1;
int element = 0;
// Loop controlling variables
int i = 0;
int j = 0;
// Outer loop
for (i = 0; i < size && i + max < size; ++i)
{
// Find similar elements which is exist in maximum distance in right side
for (j = size - 1; j > i; --j)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
}
}
if (max == -1)
{
// That means no duplicate element exist in this loop
System.out.print("\n None");
}
else
{
System.out.print("\n Maximum Distance of similar elements [" + element + "] is : " + max + "\n");
}
}
public static void main(String[] args)
{
Distance task = new Distance();
// Define array of integer elements
int[] arr1 =
{
3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
};
int[] arr2 =
{
1 , 4 , 2 , 3 , 2 , 7
};
// Get the size
int size = arr1.length;
System.out.print(" Array elements \n");
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = arr2.length;
System.out.print("\n Array elements \n");
task.printArray(arr2, size);
task.maxDistance(arr2, size);
}
}
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
// Include header file
#include <iostream>
using namespace std;
/*
C++ Program
Find Max Distance between two occurrences of the same element
*/
class Distance
{
public:
//Display elements of given array
void printArray(int arr[], int size)
{
for (int i = 0; i < size; ++i)
{
cout << " " << arr[i];
}
}
// Find maximum distance between 2 similar elements
void maxDistance(int arr[], int size)
{
// Define auxiliary resultant variables
int max = -1;
int element = 0;
// Loop controlling variables
int i = 0;
int j = 0;
// Outer loop
for (i = 0; i < size && i + max < size; ++i)
{
// Find similar elements which is exist in maximum distance in right side
for (j = size - 1; j > i; --j)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
}
}
if (max == -1)
{
// That means no duplicate element exist in this loop
cout << "\n None";
}
else
{
cout << "\n Maximum Distance of similar elements [" << element << "] is : " << max << "\n";
}
}
};
int main()
{
Distance task = Distance();
// Define array of integer elements
int arr1[] = {
3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
};
int arr2[] = {
1 , 4 , 2 , 3 , 2 , 7
};
// Get the size
int size = sizeof(arr1) / sizeof(arr1[0]);
cout << " Array elements \n";
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = sizeof(arr2) / sizeof(arr2[0]);
cout << "\n Array elements \n";
task.printArray(arr2, size);
task.maxDistance(arr2, size);
return 0;
}
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
// Include namespace system
using System;
/*
C# Program
Find Max Distance between two occurrences of the same element
*/
public class Distance
{
//Display elements of given array
public void printArray(int[] arr, int size)
{
for (int i = 0; i < size; ++i)
{
Console.Write(" " + arr[i]);
}
}
// Find maximum distance between 2 similar elements
public void maxDistance(int[] arr, int size)
{
// Define auxiliary resultant variables
int max = -1;
int element = 0;
// Loop controlling variables
int i = 0;
int j = 0;
// Outer loop
for (i = 0; i < size && i + max < size; ++i)
{
// Find similar elements which is exist in maximum distance in right side
for (j = size - 1; j > i; --j)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
}
}
if (max == -1)
{
// That means no duplicate element exist in this loop
Console.Write("\n None");
}
else
{
Console.Write("\n Maximum Distance of similar elements [" + element + "] is : " + max + "\n");
}
}
public static void Main(String[] args)
{
Distance task = new Distance();
// Define array of integer elements
int[] arr1 = {
3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
};
int[] arr2 = {
1 , 4 , 2 , 3 , 2 , 7
};
// Get the size
int size = arr1.Length;
Console.Write(" Array elements \n");
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = arr2.Length;
Console.Write("\n Array elements \n");
task.printArray(arr2, size);
task.maxDistance(arr2, size);
}
}
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
<?php
/*
Php Program
Find Max Distance between two occurrences of the same element
*/
class Distance
{
//Display elements of given array
public function printArray( & $arr, $size)
{
for ($i = 0; $i < $size; ++$i)
{
echo " ". $arr[$i];
}
}
// Find maximum distance between 2 similar elements
public function maxDistance( & $arr, $size)
{
// Define auxiliary resultant variables
$max = -1;
$element = 0;
// Loop controlling variables
$i = 0;
$j = 0;
// Outer loop
for ($i = 0; $i < $size && $i + $max < $size; ++$i)
{
// Find similar elements which is exist in maximum distance in right side
for ($j = $size - 1; $j > $i; --$j)
{
if ($arr[$i] == $arr[$j])
{
if ($max < $j - $i)
{
// When get new result
$max = $j - $i;
// Get element which is exist on higher distance
$element = $arr[$i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
$j = $i;
}
}
}
if ($max == -1)
{
// That means no duplicate element exist in this loop
echo "\n None";
}
else
{
echo "\n Maximum Distance of similar elements [". $element ."] is : ". $max ."\n";
}
}
}
function main()
{
$task = new Distance();
// Define array of integer elements
$arr1 = array(3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6);
$arr2 = array(1, 4, 2, 3, 2, 7);
// Get the size
$size = count($arr1);
echo " Array elements \n";
$task->printArray($arr1, $size);
$task->maxDistance($arr1, $size);
// Get the size
$size = count($arr2);
echo "\n Array elements \n";
$task->printArray($arr2, $size);
$task->maxDistance($arr2, $size);
}
main();
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
/*
Node Js Program
Find Max Distance between two occurrences of the same element
*/
class Distance
{
//Display elements of given array
printArray(arr, size)
{
for (var i = 0; i < size; ++i)
{
process.stdout.write(" " + arr[i]);
}
}
// Find maximum distance between 2 similar elements
maxDistance(arr, size)
{
// Define auxiliary resultant variables
var max = -1;
var element = 0;
// Loop controlling variables
var i = 0;
var j = 0;
// Outer loop
for (i = 0; i < size && i + max < size; ++i)
{
// Find similar elements which is exist in maximum distance in right side
for (j = size - 1; j > i; --j)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
}
}
if (max == -1)
{
// That means no duplicate element exist in this loop
process.stdout.write("\n None");
}
else
{
process.stdout.write("\n Maximum Distance of similar elements [" + element + "] is : " + max + "\n");
}
}
}
function main()
{
var task = new Distance();
// Define array of integer elements
var arr1 = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6];
var arr2 = [1, 4, 2, 3, 2, 7];
// Get the size
var size = arr1.length;
process.stdout.write(" Array elements \n");
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = arr2.length;
process.stdout.write("\n Array elements \n");
task.printArray(arr2, size);
task.maxDistance(arr2, size);
}
main();
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
# Python 3 Program
# Find Max Distance between two occurrences of the same element
class Distance :
# Display elements of given array
def printArray(self, arr, size) :
i = 0
while (i < size) :
print(" ", arr[i], end = "")
i += 1
# Find maximum distance between 2 similar elements
def maxDistance(self, arr, size) :
# Define auxiliary resultant variables
max = -1
element = 0
# Loop controlling variables
i = 0
j = 0
# Outer loop
while (i < size and i + max < size) :
# Find similar elements which is exist in maximum distance in right side
j = size - 1
while (j > i) :
if (arr[i] == arr[j]) :
if (max < j - i) :
# When get new result
max = j - i
# Get element which is exist on higher distance
element = arr[i]
# When elements are same then break the inner loop
# Value which is break this inner loop
# Or use break statement here
j = i
j -= 1
i += 1
if (max == -1) :
# That means no duplicate element exist in this loop
print("\n None", end = "")
else :
print("\n Maximum Distance of similar elements [", element ,"] is : ", max )
def main() :
task = Distance()
# Define array of integer elements
arr1 = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6]
arr2 = [1, 4, 2, 3, 2, 7]
# Get the size
size = len(arr1)
print(" Array elements ")
task.printArray(arr1, size)
task.maxDistance(arr1, size)
# Get the size
size = len(arr2)
print("\n Array elements ")
task.printArray(arr2, size)
task.maxDistance(arr2, size)
if __name__ == "__main__": main()
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [ 5 ] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [ 2 ] is : 2
# Ruby Program
# Find Max Distance between two occurrences of the same element
class Distance
# Display elements of given array
def printArray(arr, size)
i = 0
while (i < size)
print(" ", arr[i])
i += 1
end
end
# Find maximum distance between 2 similar elements
def maxDistance(arr, size)
# Define auxiliary resultant variables
max = -1
element = 0
# Loop controlling variables
i = 0
j = 0
# Outer loop
while (i < size && i + max < size)
# Find similar elements which is exist in maximum distance in right side
j = size - 1
while (j > i)
if (arr[i] == arr[j])
if (max < j - i)
# When get new result
max = j - i
# Get element which is exist on higher distance
element = arr[i]
end
# When elements are same then break the inner loop
# Value which is break this inner loop
# Or use break statement here
j = i
end
j -= 1
end
i += 1
end
if (max == -1)
# That means no duplicate element exist in this loop
print("\n None")
else
print("\n Maximum Distance of similar elements [", element ,"] is : ", max ,"\n")
end
end
end
def main()
task = Distance.new()
# Define array of integer elements
arr1 = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6]
arr2 = [1, 4, 2, 3, 2, 7]
# Get the size
size = arr1.length
print(" Array elements \n")
task.printArray(arr1, size)
task.maxDistance(arr1, size)
# Get the size
size = arr2.length
print("\n Array elements \n")
task.printArray(arr2, size)
task.maxDistance(arr2, size)
end
main()
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
/*
Scala Program
Find Max Distance between two occurrences of the same element
*/
class Distance
{
//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;
}
}
// Find maximum distance between 2 similar elements
def maxDistance(arr: Array[Int], size: Int): Unit = {
// Define auxiliary resultant variables
var max: Int = -1;
var element: Int = 0;
// Loop controlling variables
var i: Int = 0;
var j: Int = 0;
// Outer loop
while (i < size && i + max < size)
{
// Find similar elements which is exist in maximum distance in right side
j = size - 1;
while (j > i)
{
if (arr(i) == arr(j))
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr(i);
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
j -= 1;
}
i += 1;
}
if (max == -1)
{
// That means no duplicate element exist in this loop
print("\n None");
}
else
{
print("\n Maximum Distance of similar elements [" + element + "] is : " + max + "\n");
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Distance = new Distance();
// Define array of integer elements
var arr1: Array[Int] = Array(3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6);
var arr2: Array[Int] = Array(1, 4, 2, 3, 2, 7);
// Get the size
var size: Int = arr1.length;
print(" Array elements \n");
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = arr2.length;
print("\n Array elements \n");
task.printArray(arr2, size);
task.maxDistance(arr2, size);
}
}
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
/*
Swift 4 Program
Find Max Distance between two occurrences of the same element
*/
class Distance
{
//Display elements of given array
func printArray(_ arr: [Int], _ size: Int)
{
var i: Int = 0;
while (i < size)
{
print(" ", arr[i], terminator: "");
i += 1;
}
}
// Find maximum distance between 2 similar elements
func maxDistance(_ arr: [Int], _ size: Int)
{
// Define auxiliary resultant variables
var max: Int = -1;
var element: Int = 0;
// Loop controlling variables
var i: Int = 0;
var j: Int = 0;
// Outer loop
while (i < size && i + max < size)
{
// Find similar elements which is exist in maximum distance in right side
j = size - 1;
while (j > i)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
j -= 1;
}
i += 1;
}
if (max == -1)
{
// That means no duplicate element exist in this loop
print("\n None", terminator: "");
}
else
{
print("\n Maximum Distance of similar elements [", element ,"] is : ", max );
}
}
}
func main()
{
let task: Distance = Distance();
// Define array of integer elements
let arr1: [Int] = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6];
let arr2: [Int] = [1, 4, 2, 3, 2, 7];
// Get the size
var size: Int = arr1.count;
print(" Array elements ");
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = arr2.count;
print("\n Array elements ");
task.printArray(arr2, size);
task.maxDistance(arr2, size);
}
main();
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [ 5 ] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [ 2 ] is : 2
/*
Kotlin Program
Find Max Distance between two occurrences of the same element
*/
class Distance
{
//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;
}
}
// Find maximum distance between 2 similar elements
fun maxDistance(arr: Array <Int> , size: Int): Unit
{
// Define auxiliary resultant variables
var max: Int = -1;
var element: Int = 0;
// Loop controlling variables
var i: Int = 0;
var j: Int ;
// Outer loop
while (i < size && i + max < size)
{
// Find similar elements which is exist in maximum distance in right side
j = size - 1;
while (j > i)
{
if (arr[i] == arr[j])
{
if (max < j - i)
{
// When get new result
max = j - i;
// Get element which is exist on higher distance
element = arr[i];
}
// When elements are same then break the inner loop
// Value which is break this inner loop
// Or use break statement here
j = i;
}
j -= 1;
}
i += 1;
}
if (max == -1)
{
// That means no duplicate element exist in this loop
print("\n None");
}
else
{
print("\n Maximum Distance of similar elements [" + element + "] is : " + max + "\n");
}
}
}
fun main(args: Array <String> ): Unit
{
var task: Distance = Distance();
// Define array of integer elements
var arr1: Array <Int> = arrayOf(3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6);
var arr2: Array <Int> = arrayOf(1, 4, 2, 3, 2, 7);
// Get the size
var size: Int = arr1.count();
print(" Array elements \n");
task.printArray(arr1, size);
task.maxDistance(arr1, size);
// Get the size
size = arr2.count();
print("\n Array elements \n");
task.printArray(arr2, size);
task.maxDistance(arr2, size);
}
Output
Array elements
3 5 7 9 4 3 5 7 4 7 9 5 3 9 5 6
Maximum Distance of similar elements [5] is : 13
Array elements
1 4 2 3 2 7
Maximum Distance of similar elements [2] is : 2
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.
New Comment