Dada una array de m filas y n columnas. Tenemos que escribir un programa Java para intercambiar dos filas en la array dada. Se requiere la operación de intercambio para intercambiar los elementos de dos filas. La operación O(1) para intercambiar dos filas es imposible porque se requiere un recorrido completo entre dos filas.
Ejemplos
Input 1: K = 1, L = 2, mat[][] = {{2, 1, 4}, {1, 2, 3}, {3, 6, 2}} Output: mat[][] = {{1, 2, 3}, {2, 1, 4}, {3, 6, 2}} Input 2: K = 1, L = 1, mat[][] = {{2, 1, 4}, {1, 2, 3}} Output: mat[][] = {{2, 1, 4}, {1, 2, 3}} Input 3: K = 2, L = 3, mat[][] = {{2, 1}, {1, 2}, {3, 6}} Output: mat[][] = {{2, 1}, {3, 6}, {1, 2}}
Acercarse
- Si Primero y Segundo son iguales, imprima la array tal como está.
- Else Bucle sobre las filas Kth y Lth de la array.
- Intercambie los elementos con el índice de ambas filas durante el recorrido.
- Ahora, después de que termine el ciclo, imprima la array.
A continuación se muestra la implementación del código para el enfoque anterior:
Java
// Java program to interchange // two row in a Matrix import java.io.*; class GFG { public static void printMatrix(int[][] matrix) { for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) System.out.print(matrix[i][j] + " "); System.out.println(); } } public static void exchangeAnyTwoRows(int[][] matrix, int K, int L) { int[] temp = matrix[K - 1]; matrix[K - 1]= matrix[L - 1]; matrix[L - 1] = temp; // Print matrix printMatrix(matrix); } public static void main(String[] args) { int K = 2, L = 3; int mat[][] = { { 2, 1, 4 }, { 1, 2, 3 }, { 3, 6, 2 } }; // calling the exchange row function exchangeAnyTwoRows(mat, K, L); } }
Producción
2 1 4 3 6 2 1 2 3
Complejidad de tiempo: 0(n), donde n es la longitud de la fila.
Complejidad espacial: 0(1)
Publicación traducida automáticamente
Artículo escrito por lavishgarg26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA