Programa Java para intercambiar dos filas en la array

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *