Número de filas y columnas en una Array que contienen valores repetidos

Dada una array cuadrada N x N arr[][] que contiene solo números enteros entre 1 y N, la tarea es calcular el número de filas y el número de columnas en la array que contienen valores repetidos.

Ejemplos:

Entrada: N = 4, arr[][] = {{1, 2, 3, 4}, {2, 1, 4, 3}, {3, 4, 1, 2}, {4, 3, 2, 1}}
Salida: 0 0
Explicación:
Ninguna de las filas o columnas contiene valores repetidos.

Entrada: N = 4, array[][]= {{2, 2, 2, 2}, {2, 3, 2, 3}, {2, 2, 2, 3}, {2, 2, 2, 2}}
Salida: 4 4
Explicación:
En cada columna y cada fila de la array cuadrada, los valores se repiten.
Por lo tanto, el recuento total es 4 tanto para las filas como para las columnas.

Enfoque: La idea es utilizar la biblioteca NumPy .

  • Haga una array NumPy de cada fila y cada columna en la array cuadrada.
  • Encuentra la longitud de los elementos únicos.
  • Si la longitud es igual a N , entonces no hay valores repetidos presentes en esa fila o columna en particular.

A continuación se muestra la implementación del enfoque anterior:

# Python program to count the number of 
# rows and columns in a square matrix 
# that contain repeated values
  
import numpy as np
  
# Function to count the number of rows
# and number of columns that contain 
# repeated values in a square matrix.
def repeated_val(N, matrix):
    column = 0
    row = 0
    for i in range (N):
  
    # For every row, an array is formed. 
    # The length of the unique elements 
    # is calculated, which if not equal 
    # to 'N' then the row has repeated values.
        if (len(np.unique(np.array(matrix[i])))!= N):
            row += 1 
  
    # For every column, an array is formed.
    # The length of the unique elements 
    # is calculated, which if not equal 
    # to N then the column has repeated values.
    for j in range (N):
        if (len(np.unique(np.array([m[j] for m in matrix])))!= N):
            column += 1
              
    # Returning the count of 
    # rows and columns
    return row, column
  
  
# Driver code
if __name__ == '__main__': 
  
     
    N = 3
    matrix = [ [ 2, 1, 3 ], [ 1, 3, 2 ], [ 1, 2, 3 ] ]
  
    print(repeated_val(N, matrix))  
Producción:

(0, 2)

Publicación traducida automáticamente

Artículo escrito por parna_28 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 *