Given a square matrix of order n*n, you have to interchange the elements of both diagonals.
Examples :
Input : matrix[][] = {1, 2, 3, 4, 5, 6, 7, 8, 9} Output : matrix[][] = {3, 2, 1, 4, 5, 6, 9, 8, 7} Input : matrix[][] = {4, 2, 3, 1, 5, 7, 6, 8, 9, 11, 10, 12, 16, 14, 15, 13} Output : matrix[][] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 14, 15, 16}
Explanation : Idea behind interchanging diagonals of a square matrix is simple. Iterate from 0 to n-1 and for each iteration you have to swap a[i][i] and a[i][n-i-1].
Python3
# Python program to interchange # the diagonals of matrix N = 3 ; # Function to interchange diagonals def interchangeDiagonals(array): # swap elements of diagonal for i in range (N): if (i ! = N / 2 ): temp = array[i][i]; array[i][i] = array[i][N - i - 1 ]; array[i][N - i - 1 ] = temp; for i in range (N): for j in range (N): print (array[i][j], end = " " ); print (); # Driver Code if __name__ = = '__main__' : array = [ 4 , 5 , 6 ],[ 1 , 2 , 3 ],[ 7 , 8 , 9 ]; interchangeDiagonals(array); # This code is contributed by Rajput-Ji |
Output:
6 5 4 1 2 3 9 8 7
Time Complexity: O(N) where N is no of rows or columns; as we are using single loop for interchanging diagonals of a given matrix.
Auxiliary Space: O(1), as we are not using any extra space.
Please refer complete article on Program to Interchange Diagonals of Matrix for more details!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!