Maximum distance between two occurrences of same element

Here given code implementation process.

/*
   Java Program
   Maximum distance between two occurrences of same element
*/
import java.util.HashMap;
public class Distance
{
	// Display given array element
	public void display(int[] arr, int n)
	{
		// iterate the loop through by n
		for (int i = 0; i < n; ++i)
		{
			System.out.print("  " + arr[i]);
		}
		System.out.print("\n");
	}
	// Find max distance between any two similar elements
	public void maxDistance(int[] data, int n)
	{
		// Resultant variable
		int result = 0;
      	int element = 0;
		// Use to collect element occurrence
		HashMap < Integer, Integer > record = new HashMap < Integer, Integer > ();
		// Display given array element
		System.out.print(" Given Array  : ");
		display(data, n);
		// Execute loop through by array size
		for (int i = 0; i < n; ++i)
		{
			if (record.containsKey(data[i]))
			{
				if (result < (i - record.get(data[i])))
				{
                  // Get new result
					result = i - record.get(data[i]);
                  	element = data[i];
				}
			}
			else
			{
				record.put(data[i], i);
			}
		}
		// Display calculated result
		System.out.print("\n Element is "+element+" and Distance is : " + result);
	}
	public static void main(String[] arg)
	{
		Distance task = new Distance();
		// Define array of integer elements
		int[] data = {
			3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
		};
		// Get the number of elements
		int n = data.length;
		// test
		task.maxDistance(data, n);
	}
}

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
// Include header file
#include <iostream>
#include <unordered_map>
using namespace std;

/*
   C++ Program
   Maximum distance between two occurrences of same element
*/
class Distance
{
	public:
		// Display given array element
		void display(int arr[], int n)
		{
			// iterate the loop through by n
			for (int i = 0; i < n; ++i)
			{
				cout << "  " << arr[i];
			}
			cout << "\n";
		}
	// Find max distance between any two similar elements
	void maxDistance(int data[], int n)
	{
		// Resultant variable
		int result = 0;
		int element = 0;
		// Use to collect element occurrence
		unordered_map < int, int > record ;
		// Display given array element
		cout << " Given Array  : ";
		this->display(data, n);
		// Execute loop through by array size
		for (int i = 0; i < n; ++i)
		{
			if (record.find(data[i]) != record.end())
			{
				if (result < (i - record[data[i]]))
				{
					// Get new result
					result = i - record[data[i]];
					element = data[i];
				}
			}
			else
			{
				record[data[i]] = i;
			}
		}
		// Display calculated result
		cout << "\n Element is " << element << " and Distance is : " << result;
	}
};
int main()
{
	Distance task = Distance();
	// Define array of integer elements
	int data[] = {
		3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
	};
	// Get the number of elements
	int n = sizeof(data) / sizeof(data[0]);
	// test
	task.maxDistance(data, n);
	return 0;
}

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
// Include namespace system
using System;
using System.Collections.Generic;
/*
   C# Program
   Maximum distance between two occurrences of same element
*/
public class Distance
{
	// Display given array element
	public void display(int[] arr, int n)
	{
		// iterate the loop through by n
		for (int i = 0; i < n; ++i)
		{
			Console.Write("  " + arr[i]);
		}
		Console.Write("\n");
	}
	// Find max distance between any two similar elements
	public void maxDistance(int[] data, int n)
	{
		// Resultant variable
		int result = 0;
		int element = 0;
		// Use to collect element occurrence
		Dictionary < int, int > record = new Dictionary < int, int > ();
		// Display given array element
		Console.Write(" Given Array  : ");
		display(data, n);
		// Execute loop through by array size
		for (int i = 0; i < n; ++i)
		{
			if (record.ContainsKey(data[i]))
			{
				if (result < (i - record[data[i]]))
				{
					// Get new result
					result = i - record[data[i]];
					element = data[i];
				}
			}
			else
			{
				record.Add(data[i], i);
			}
		}
		// Display calculated result
		Console.Write("\n Element is " + element + " and Distance is : " + result);
	}
	public static void Main(String[] arg)
	{
		Distance task = new Distance();
		// Define array of integer elements
		int[] data = {
			3 , 5 , 7 , 9 , 4 , 3 , 5 , 7 , 4 , 7 , 9 , 5 , 3 , 9 , 5 , 6
		};
		// Get the number of elements
		int n = data.Length;
		// test
		task.maxDistance(data, n);
	}
}

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
<?php
/*
   Php Program
   Maximum distance between two occurrences of same element
*/
class Distance
{
	// Display given array element
	public	function display( & $arr, $n)
	{
		// iterate the loop through by n
		for ($i = 0; $i < $n; ++$i)
		{
			echo "  ". $arr[$i];
		}
		echo "\n";
	}
	// Find max distance between any two similar elements
	public	function maxDistance( & $data, $n)
	{
		// Resultant variable
		$result = 0;
		$element = 0;
		// Use to collect element occurrence
		$record = array();
		// Display given array element
		echo " Given Array  : ";
		$this->display($data, $n);
		// Execute loop through by array size
		for ($i = 0; $i < $n; ++$i)
		{
			if (array_key_exists($data[$i], $record))
			{
				if ($result < ($i - $record[$data[$i]]))
				{
					// Get new result
					$result = $i - $record[$data[$i]];
					$element = $data[$i];
				}
			}
			else
			{
				$record[$data[$i]] = $i;
			}
		}
		// Display calculated result
		echo "\n Element is ". $element ." and Distance is : ". $result;
	}
}

function main()
{
	$task = new Distance();
	// Define array of integer elements
	$data = array(3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6);
	// Get the number of elements
	$n = count($data);
	$task->maxDistance($data, $n);
}
main();

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
/*
   Node Js Program
   Maximum distance between two occurrences of same element
*/
class Distance
{
	// Display given array element
	display(arr, n)
	{
		// iterate the loop through by n
		for (var i = 0; i < n; ++i)
		{
			process.stdout.write("  " + arr[i]);
		}
		process.stdout.write("\n");
	}
	// Find max distance between any two similar elements
	maxDistance(data, n)
	{
		// Resultant variable
		var result = 0;
		var element = 0;
		// Use to collect element occurrence
		var record = new Map();
		// Display given array element
		process.stdout.write(" Given Array  : ");
		this.display(data, n);
		// Execute loop through by array size
		for (var i = 0; i < n; ++i)
		{
			if (record.has(data[i]))
			{
				if (result < (i - record.get(data[i])))
				{
					// Get new result
					result = i - record.get(data[i]);
					element = data[i];
				}
			}
			else
			{
				record.set(data[i], i);
			}
		}
		// Display calculated result
		process.stdout.write("\n Element is " + element + " and Distance is : " + result);
	}
}

function main()
{
	var task = new Distance();
	// Define array of integer elements
	var data = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6];
	// Get the number of elements
	var n = data.length;
	// test
	task.maxDistance(data, n);
}
main();

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
#    Python 3 Program
#    Maximum distance between two occurrences of same element

class Distance :
	#  Display given array element
	def display(self, arr, n) :
		#  iterate the loop through by n
		i = 0
		while (i < n) :
			print("  ", arr[i], end = "")
			i += 1
		
		print(end = "\n")
	
	#  Find max distance between any two similar elements
	def maxDistance(self, data, n) :
		#  Resultant variable
		result = 0
		element = 0
		#  Use to collect element occurrence
		record = dict()
		#  Display given list element
		print(" Given Array  : ", end = "")
		self.display(data, n)
		i = 0
		#  Execute loop through by list size
		while (i < n) :
			if (data[i] in record.keys()) :
				if (result < (i - record.get(data[i]))) :
					#  Get new result
					result = i - record.get(data[i])
					element = data[i]
				
			else :
				record[data[i]] = i
			
			i += 1
		
		#  Display calculated result
		print("\n Element is ", element ," and Distance is : ", result, end = "")
	

def main() :
	task = Distance()
	#  Define list of integer elements
	data = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6]
	#  Get the number of elements
	n = len(data)
	#  test
	task.maxDistance(data, n)

if __name__ == "__main__": main()

Output

 Given Array  :    3   5   7   9   4   3   5   7   4   7   9   5   3   9   5   6

 Element is  5  and Distance is :  13
#  Ruby Program
#  Maximum distance between two occurrences of same element

class Distance 
	#  Display given array element
	def display(arr, n) 
		#  iterate the loop through by n
		i = 0
		while (i < n) 
			print("  ", arr[i])
			i += 1
		end

		print("\n")
	end

	#  Find max distance between any two similar elements
	def maxDistance(data, n) 
		#  Resultant variable
		result = 0
		element = 0
		#  Use to collect element occurrence
		record = Hash.new
		#  Display given array element
		print(" Given Array  : ")
		self.display(data, n)
		i = 0
		#  Execute loop through by array size
		while (i < n) 
			if (record.key?(data[i])) 
				if (result < (i - record[data[i]])) 
					#  Get new result
					result = i - record[data[i]]
					element = data[i]
				end
			else 
				record[data[i]] = i
			end

			i += 1
		end

		#  Display calculated result
		print("\n Element is ", element ," and Distance is : ", result)
	end

end

def main() 
	task = Distance.new()
	#  Define array of integer elements
	data = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6]
	#  Get the number of elements
	n = data.length
	#  test
	task.maxDistance(data, n)
end

main()

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
import scala.collection.mutable._;
/*
   Scala Program
   Maximum distance between two occurrences of same element
*/
class Distance
{
	// Display given array element
	def display(arr: Array[Int], n: Int): Unit = {
		// iterate the loop through by n
		var i: Int = 0;
		while (i < n)
		{
			print("  " + arr(i));
			i += 1;
		}
		print("\n");
	}
	// Find max distance between any two similar elements
	def maxDistance(data: Array[Int], n: Int): Unit = {
		// Resultant variable
		var result: Int = 0;
		var element: Int = 0;
		// Use to collect element occurrence
	
		var record: Map[Int, Int] = Map();
		// Display given array element
		print(" Given Array  : ");
		this.display(data, n);
		var i: Int = 0;
		// Execute loop through by array size
		while (i < n)
		{
			if (record.contains(data(i)))
			{
				if (result < (i - record.get(data(i)).get))
				{
					// Get new result
					result = i - record.get(data(i)).get;
					element = data(i);
				}
			}
			else
			{
				record.addOne(data(i), i);
			}
			i += 1;
		}
		// Display calculated result
		print("\n Element is " + element + " and Distance is : " + result);
	}
}
object Main
{
	def main(args: Array[String]): Unit = {
		var task: Distance = new Distance();
		// Define array of integer elements
		var data: Array[Int] = Array(3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6);
		// Get the number of elements
		var n: Int = data.length;
		// test
		task.maxDistance(data, n);
	}
}

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13
import Foundation
/*
   Swift 4 Program
   Maximum distance between two occurrences of same element
*/
class Distance
{
	// Display given array element
	func display(_ arr: [Int], _ n: Int)
	{
		// iterate the loop through by n
		var i: Int = 0;
		while (i < n)
		{
			print("  ", arr[i], terminator: "");
			i += 1;
		}
		print(terminator: "\n");
	}
	// Find max distance between any two similar elements
	func maxDistance(_ data: [Int], _ n: Int)
	{
		// Resultant variable
		var result: Int = 0;
		var element: Int = 0;
		// Use to collect element occurrence
		var record = [Int: Int]();
		// Display given array element
		print(" Given Array  : ", terminator: "");
		self.display(data, n);
		var i: Int = 0;
		// Execute loop through by array size
		while (i < n)
		{
			if (record.keys.contains(data[i]))
			{
				if (result < (i - record[data[i]]!))
				{
					// Get new result
					result = i - record[data[i]]!;
					element = data[i];
				}
			}
			else
			{
				record[data[i]] = i;
			}
			i += 1;
		}
		// Display calculated result
		print("\n Element is ", element ," and Distance is : ", result, terminator: "");
	}
}
func main()
{
	let task: Distance = Distance();
	// Define array of integer elements
	let data: [Int] = [3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6];
	// Get the number of elements
	let n: Int = data.count;
	// test
	task.maxDistance(data, n);
}
main();

Output

 Given Array  :    3   5   7   9   4   3   5   7   4   7   9   5   3   9   5   6

 Element is  5  and Distance is :  13
/*
   Kotlin Program
   Maximum distance between two occurrences of same element
*/
class Distance
{
	// Display given array element
	fun display(arr: Array < Int > , n: Int): Unit
	{
		// iterate the loop through by n
		var i: Int = 0;
		while (i < n)
		{
			print("  " + arr[i]);
			i += 1;
		}
		print("\n");
	}
	// Find max distance between any two similar elements
	fun maxDistance(data: Array < Int > , n: Int): Unit
	{
		// Resultant variable
		var result: Int = 0;
		var element: Int = 0;
		// Use to collect element occurrence
		var record = mutableMapOf<Int, Int>();
		// Display given array element
		print(" Given Array  : ");
		this.display(data, n);
		var i: Int = 0;
		// Execute loop through by array size
		while (i < n)
		{
			if (record.containsKey(data[i]))
			{
				if (result < (i - record.getValue(data[i])))
				{
					// Get new result
					result = i - record.getValue(data[i]);
					element = data[i];
				}
			}
			else
			{
				record.put(data[i], i);
			}
			i += 1;
		}
		// Display calculated result
		print("\n Element is " + element + " and Distance is : " + result);
	}
}
fun main(args: Array < String > ): Unit
{
	var task: Distance = Distance();
	// Define array of integer elements
	var data: Array < Int > = arrayOf(3, 5, 7, 9, 4, 3, 5, 7, 4, 7, 9, 5, 3, 9, 5, 6);
	// Get the number of elements
	var n: Int = data.count();
	// test
	task.maxDistance(data, n);
}

Output

 Given Array  :   3  5  7  9  4  3  5  7  4  7  9  5  3  9  5  6

 Element is 5 and Distance is : 13


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







© 2021, kalkicode.com, All rights reserved