human
Minimum operations of given type to make all elements of a matrix equal | Function to return the minimum number of operations required.
Create another array to store the elements of matrix.
will not work for negative elements , so . . adding this.
adding this to handle negative elements too ..
Sort the array to get median.
To count the minimum operations.
If there are even elements , then there are two medians . We consider the best of two as answer ..
changed here as in case of even elements there will be 2 medians.
Return minimum operations required.
Driver code"
How can the above be solved in Python?
 Give me a code to minimum operations of given type to make all elements of a matrix equal and the other steps required?
assistant
#Here is code to minimum operations of given type to make all elements of a matrix equal and the other steps required.
 def minOperations ( n , m , k , matrix ) :
	arr = [ ]
	if ( matrix [ 0 ] [ 0 ] < 0 ) :
		mod = k - ( abs ( matrix [ 0 ] [ 0 ] ) % k )
	else :
		mod = matrix [ 0 ] [ 0 ] % k
	for i in range ( n ) :
		for j in range ( m ) :
			arr . append ( matrix [ i ] [ j ] )
			val = matrix [ i ] [ j ]
			if ( val < 0 ) :
				res = k - ( abs ( val ) % k )
				if ( res != mod ) :
					return - 1
			else :
				foo = matrix [ i ] [ j ]
				if ( foo % k != mod ) :
					return - 1
	arr . sort ( )
	median = arr [ ( n * m ) // 2 ]
	minOperations = 0
	for i in range ( n * m ) :
		minOperations += abs ( arr [ i ] - median ) // k
	if ( ( n * m ) % 2 == 0 ) :
		median2 = arr [ ( ( n * m ) // 2 ) - 1 ]
		minOperations2 = 0
		for i in range ( n * m ) :
			minOperations2 += abs ( arr [ i ] - median2 ) / k
		minOperations = min ( minOperations , minOperations2 )
	return minOperations
if __name__ == " _ _ main _ _ " :
	matrix = [ [ 2 , 4 , 6 ] , [ 8 , 10 , 12 ] , [ 14 , 16 , 18 ] , [ 20 , 22 , 24 ] ]
	n = len ( matrix )
	m = len ( matrix [ 0 ] )
	k = 2
	print ( minOperations ( n , m , k , matrix ) )