Find unique elements in a matrix

10 Jun, 2022
Given a matrix mat[][] having n rows and m columns. We need to find unique elements in matrix i.e, those elements which are not repeated in the matrix or those elements whose frequency is 1. 
Examples: 
Input :  20  15  30  2
         2   3   5   30
         6   7   6   8
Output : 3  20  5  7  8  15 

Input :  1  2  3  
         5  6  2
         1  3  5
         6  2  2
Output : No unique element in the matrix
Follow these steps to find unique element: 1. Create an empty hash table or dictionary. 2. Traverse through all the elements of the matrix 3. If element is present in the dictionary, then increment its count 4. Otherwise insert element with value = 1. 
C++
Java
Python3
C#
PHP
Javascript
// C++ program to find unique// element in matrix#include<bits/stdc++.h>using namespace std;#define R 4#define C 4 // function that calculate unique elementint unique(int mat[R][C], int n, int m){    int maximum = 0, flag = 0;    for(int i = 0; i < n; i++)        for(int j = 0; j < m; j++)            // Find maximum element in            // a matrix            if(maximum < mat[i][j])                    maximum = mat[i][j];     // Take 1-D array of (maximum + 1)    // size    int b[maximum + 1] = {0};    for(int i = 0 ; i < n; i++)        for(int j = 0; j < m; j++)            b[mat[i][j]]++;     //print unique element    for(int i = 1; i <= maximum; i++)        if(b[i] == 1)            cout << i << " ";            flag = 1;                 if(!flag){        cout << "No unique element in the matrix";    }} // Driver programint main(){    int mat[R][C] = {{ 1, 2, 3, 20},                     {5, 6, 20, 25},                     {1, 3, 5, 6},                     {6, 7, 8, 15}};                          // function that calculate unique element    unique(mat, R, C);    return 0;} // This code is contributed by Naman_Garg.
// Java program to find unique// element in matrixclass GFG{static int R = 4, C = 4; // function that calculate// unique elementstatic void unique(int mat[][],                   int n, int m){    int maximum = 0, flag = 0;    for(int i = 0; i < n; i++)        for(int j = 0; j < m; j++)                     // Find maximum element            // in a matrix            if(maximum < mat[i][j])                    maximum = mat[i][j];     // Take 1-D array of    // (maximum + 1) size    int b[] = new int [maximum + 1];    for(int i = 0 ; i < n; i++)        for(int j = 0; j < m; j++)            b[mat[i][j]]++;     //print unique element    for(int i = 1; i <= maximum; i++)        if(b[i] == 1)            System.out.print(i + " ");            flag = 1;                 if(flag == 0)    {        System.out.println("No unique element " +                                "in the matrix");    }} // Driver Codepublic static void main(String args[]){    int mat[][] = {{1, 2, 3, 20},                   {5, 6, 20, 25},                   {1, 3, 5, 6},                   {6, 7, 8, 15}};                         // function that calculate    // unique element    unique(mat, R, C);}} // This code is contributed// by Arnab Kundu
# Python 3 program to find unique# element in matrixdef unique(mat, n, m):     maximum = 0; flag = 0         for i in range(0, n):        for j in range(0, m):                         # Find maximum element in            # a matrix            if(maximum < mat[i][j]):                maximum = mat[i][j];     uniqueElementDict = [0] * (maximum + 1)     # loops to traverse through the matrix    for i in range(0, n):        for j in range(0, m):                uniqueElementDict[mat[i][j]] += 1     # Print all those keys whose count is 1    for key in range(maximum + 1):        if uniqueElementDict[key] == 1:            print (key, end = " ")            flag = 1         if(flag == 0):        print("No unique element in the matrix") # Driver Codemat = [[1, 2, 3, 20],       [5, 6, 20, 25],       [1, 3, 5, 6],       [6, 7, 8, 15]]n = 4m = 4unique(mat, n, m)
// C# program to find unique// element in matrixusing System; class GFG{static int R = 4, C = 4; // function that calculate// unique elementstatic void unique(int [,]mat,                   int n, int m){    int maximum = 0, flag = 0;    for(int i = 0; i < n; i++)        for(int j = 0; j < m; j++)                     // Find maximum element            // in a matrix            if(maximum < mat[i, j])                    maximum = mat[i, j];     // Take 1-D array of    // (maximum + 1) size    int []b = new int [maximum + 1];    for(int i = 0 ; i < n; i++)        for(int j = 0; j < m; j++)            b[mat[i, j]]++;     // print unique element    for(int i = 1; i <= maximum; i++)        if(b[i] == 1)            Console.Write(i + " ");            flag = 1;                 if(flag == 0)    {        Console.WriteLine("No unique element " +                               "in the matrix");    }} // Driver Codepublic static void Main(){    int [,]mat = {{1, 2, 3, 20},                  {5, 6, 20, 25},                  {1, 3, 5, 6},                  {6, 7, 8, 15}};                         // function that calculate    // unique element    unique(mat, R, C);}} // This code is contributed// by Subhadeep
<?php// PHP program to find unique// element in matrix $R = 4;$C = 4; // function that calculate unique elementfunction unique($mat, $n, $m){    $maximum = 0;    $flag = 0;    for($i = 0; $i < $n; $i++)        for($j = 0; $j < $m; $j++)                     // Find maximum element in            // a matrix            if($maximum < $mat[$i][$j])                    $maximum = $mat[$i][$j];     // Take 1-D array of (maximum + 1)    // size    $b = array();    for($j = 0; $j < $maximum + 1; $j++)        $b[$j] = 0;         for($i = 0 ; $i < $n; $i++)        for($j = 0; $j < $m; $j++)            $b[$mat[$i][$j]]++;     // print unique element    for($i = 1; $i <= $maximum; $i++)        if($b[$i] == 1)            echo "$i ";            $flag = 1;                 if(!$flag)    {        echo "No unique element in the matrix";    }} // Driver Code$mat = array(array(1, 2, 3, 20),             array(5, 6, 20, 25),             array(1, 3, 5, 6),             array(6, 7, 8, 15));                 // function that calculate unique elementunique($mat, $R, $C); // This code is contributed by iAyushRaj?>
<script> // Javascript program to find unique// element in matrixvar R = 4, C = 4; // Function that calculate// unique elementfunction unique(mat, n, m){    var maximum = 0, flag = 0;    for(var i = 0; i < n; i++)        for(var j = 0; j < m; j++)                     // Find maximum element            // in a matrix            if (maximum < mat[i][j])                maximum = mat[i][j];     // Take 1-D array of    // (maximum + 1) size    var b = Array(maximum+1).fill(0);    for(var i = 0 ; i < n; i++)        for(var j = 0; j < m; j++)            b[mat[i][j]]++;     // Print unique element    for(var i = 1; i <= maximum; i++)        if (b[i] == 1)            document.write(i + " ");            flag = 1;                 if (flag == 0)    {        document.write("No unique element " +                       "in the matrix<br>");    }} // Driver Codevar mat = [ [ 1, 2, 3, 20 ],            [ 5, 6, 20, 25 ],            [ 1, 3, 5, 6 ],            [ 6, 7, 8, 15 ] ];                 // Function that calculate// unique elementunique(mat, R, C); // This code is contributed by rrrtnx </script>
2 7 8 15 25 
Complexity Analysis:
Time Complexity: O(m*n) where m is the number of rows & n is the number of columns.Auxiliary Space: O(max(matrix)).  
andrew1234
tufan_gupta2000
Naman_Garg
iAyushRaj
rrrtnx
vinayedula
python-dict
Matrix
python-dict
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Matrix Chain Multiplication | DP-8
Program to find largest element in an array
Rat in a Maze | Backtracking-2
Sudoku | Backtracking-7
Find the number of islands | Set 1 (Using DFS)
The Celebrity Problem
Rotate a matrix by 90 degree in clockwise direction without using any extra space
Count all possible paths from top left to bottom right of a mXn matrix
Unique paths in a Grid with Obstacles
Printing all solutions in N-Queen Problem