human
Minimum common element in subarrays of all possible lengths | Function to find maximum distance between every two element.
Stores index of last occurence of each array element.
Initialize temp [ ] with - 1.
Traverse the array.
If array element has not occurred previously.
Update index in temp.
Otherwise.
Compare temp [ a [ i ] ] with distance from its previous occurence and store the maximum.
Compare temp [ i ] with distance of its last occurence from the end of the array and store the maximum.
Function to find the minimum common element in subarrays of all possible lengths.
Function call to find a the maximum distance between every pair of repetition.
Initialize ans [ ] to - 1.
Check if subarray of length temp [ i ] contains i as one of the common elements.
Find the minimum of all common elements.
Driver Code"
Solution in Python:
assistant
#Here is code to minimum common element in subarrays of all possible lengths and the other steps required.
 def max_distance ( a , temp , n ) :
	mp = { }
	for i in range ( 1 , n + 1 ) :
		temp [ i ] = - 1
	for i in range ( n ) :
		if ( a [ i ] not in mp ) :
			temp [ a [ i ] ] = i + 1
		else :
			temp [ a [ i ] ] = max ( temp [ a [ i ] ] , i - mp [ a [ i ] ] )
		mp [ a [ i ] ] = i
	for i in range ( 1 , n + 1 ) :
		if ( temp [ i ] != - 1 ) :
			temp [ i ] = max ( temp [ i ] , n - mp [ i ] )
def min_comm_ele ( a , ans , temp , n ) :
	max_distance ( a , temp , n )
	for i in range ( 1 , n + 1 ) :
		ans [ i ] = - 1
	for i in range ( 1 , n + 1 ) :
		if ( ans [ temp [ i ] ] == - 1 ) :
			ans [ temp [ i ] ] = i
	for i in range ( 1 , n + 1 ) :
		if ( i > 1 and ans [ i - 1 ] != - 1 ) :
			if ( ans [ i ] == - 1 ) :
				ans [ i ] = ans [ i - 1 ]
			else :
				ans [ i ] = min ( ans [ i ] , ans [ i - 1 ] )
		print ( ans [ i ] , end = " ▁ " )
if __name__ == " _ _ main _ _ " :
	N = 6
	a = [ 1 , 3 , 4 , 5 , 6 , 7 ]
	temp = [ 0 ] * 100
	ans = [ 0 ] * 100
	min_comm_ele ( a , ans , temp , N )