Skip to content
Related Articles

Related Articles

Improve Article

Number of rows and columns in a Matrix that contain repeated values

  • Last Updated : 17 May, 2020
Geek Week

Given a N x N square matrix arr[][] which contains only integers between 1 and N, the task is to compute the number of rows and the number of columns in the matrix that contain repeated values.

Examples:

Input: N = 4, arr[][] = {{1, 2, 3, 4}, {2, 1, 4, 3}, {3, 4, 1, 2}, {4, 3, 2, 1}}
Output: 0 0
Explanation:
None of the rows or columns contain repeated values.

Input: N = 4, arr[][]= {{2, 2, 2, 2}, {2, 3, 2, 3}, {2, 2, 2, 3}, {2, 2, 2, 2}}
Output: 4 4
Explanation:
In every column and every row of the square matrix, the values are repeated.
Therefore, the total count is 4 for both rows and columns.

Approach: The idea is to use the NumPy library.



  • Make a NumPy array of every row and every column in the square matrix.
  • Find the length of the unique elements.
  • If the length is equal to N then, there are no repeated values present in that particular row or column.

Below is the implementation of the above approach:




# 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))  
Output:
(0, 2)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.




My Personal Notes arrow_drop_up
Recommended Articles
Page :