একটি ম্যাট্রিক্স দেওয়া আছে যেখানে প্রতিটি সারি সর্টেড। সব সারিতে কমন এলিমেন্ট বের করতে হবে।
উদাহরণ ম্যাট্রিক্স:
| 1 | 2 | 3 | 4 | 5 |
| 2 | 4 | 5 | 8 | 10 |
| 3 | 5 | 7 | 9 | 11 |
| 1 | 3 | 5 | 7 | 9 |
কমন এলিমেন্ট: ৫।
অনোখা এলিমেন্টের ফ্রিকোয়েন্সি গণনা করুন। যেসব এলিমেন্টের ফ্রিকোয়েন্সি সারির সংখ্যা (M) এর সমান, সেটিই কমন এলিমেন্ট।
#include <iostream>
#include <unordered_map>
#define M 4
#define N 5
using namespace std;
int getCommonElement(int matrix[M][N]) {
unordered_map<int, int> count;
for (int i = 0; i < M; i++) {
count[matrix[i][0]]++;
for (int j = 1; j < N; j++) {
if (matrix[i][j] != matrix[i][j-1])
count[matrix[i][j]]++;
}
}
for (auto ele : count) {
if (ele.second == M)
return ele.first;
}
return -1;
}
int main() {
int matrix[M][N] = {
{1, 2, 3, 4, 5},
{2, 4, 5, 8, 10},
{3, 5, 7, 9, 11},
{1, 3, 5, 7, 9}
};
int result = getCommonElement(matrix);
if (result == -1)
cout << "No common element has found";
else
cout << "Common element is " << result;
}
Common element is 5