Dada una array cuadrada de orden n*n, hay que intercambiar los elementos de ambas diagonales.
Ejemplos:
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}
Explicación: la idea detrás del intercambio de diagonales de una array cuadrada es simple. Itere de 0 a n-1 y para cada iteración debe intercambiar a[i][i] y a[i][ni-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
Producción:
6 5 4 1 2 3 9 8 7
Complejidad de tiempo: O(N) donde N no es filas ni columnas; ya que estamos usando un solo bucle para intercambiar diagonales de una array dada.
Espacio auxiliar: O(1), ya que no estamos utilizando ningún espacio adicional.
¡ Consulte el artículo completo sobre Programa para intercambiar diagonales de array para obtener más detalles!
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA