Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,900 questions

51,831 answers

573 users

How to find a common element in all rows of a given matrix with sorted rows in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;

class CommonElementMatrix
{
    public static int FindCommonElementInMatrixRows(int[,] matrix) {
        Dictionary<int, int> map = new Dictionary<int, int>();

        int rows = matrix.GetLength(0);
        int cols = matrix.GetLength(1);

        for (int i = 0; i < rows; i++) {
            map[matrix[i, 0]] = map.ContainsKey(matrix[i, 0]) ? map[matrix[i, 0]] + 1 : 1;

            for (int j = 1; j < cols; j++) {
                if (matrix[i, j] != matrix[i, j - 1]) {
                    int val = matrix[i, j];
                    map[val] = map.ContainsKey(val) ? map[val] + 1 : 1;
                }
            }
        }

        foreach (var entry in map) {
            if (entry.Value == rows) {
                return entry.Key;
            }
        }

        return -1;
    }

    static void Main()
    {
        int[,] matrix = new int[,]
        {
            {1, 2, 3, 5, 36},
            {4, 5, 7, 9, 10},
            {5, 6, 8, 9, 18},
            {1, 3, 5, 8, 24}
        };

        int result = FindCommonElementInMatrixRows(matrix);
        if (result != -1) {
            Console.WriteLine("Common element in all rows: " + result);
        }
        else {
            Console.WriteLine("No common element found in all rows.");
        }
    }
}



/*
run:

Common element in all rows: 5

*/

 



answered Oct 3, 2025 by avibootz
...