हमें पूर्णांक प्रकार के तत्वों की एक सरणी और एक मैट्रिक्स (2-D सरणी) दी गई है। कार्य है सरणी के उन तत्वों की संख्या गिनना जो मैट्रिक्स की प्रत्येक पंक्ति में मौजूद हैं।
इनपुट - int arr[] = {2, 4, 6} और matrix = {{2,4,6}, {3,4,6}, {6,2,1}}
आउटपुट - पंक्ति 1 में सरणी के तत्व: 3, पंक्ति 2 में: 2, पंक्ति 3 में: 2
उपयोग किया गया दृष्टिकोण (नाइव)
- सरणी और मैट्रिक्स इनपुट करें।
- सरणी का आकार ज्ञात करें और फंक्शन में पास करें।
- प्रत्येक पंक्ति के लिए, सरणी के प्रत्येक तत्व को मैट्रिक्स की पंक्ति में खोजें।
- तीन नेस्टेड लूप का उपयोग करें।
कुशल दृष्टिकोण (अनऑर्डर्ड मैप)
- प्रत्येक पंक्ति के लिए एक अनऑर्डर्ड मैप बनाएं जिसमें उस पंक्ति के सभी तत्व हों।
- फिर सरणी के प्रत्येक तत्व के लिए O(1) में जांचें कि वह मैप में है या नहीं।
- समय जटिलता: O(rows × (cols + arr_size))
उदाहरण (नाइव दृष्टिकोण)
#include <bits/stdc++.h>
using namespace std;
#define ROW 3
#define COL 3
void arr_matrix(int matrix[ROW][COL], int arr[], int size) {
int count = 0;
for (int i = 0; i < ROW; i++) {
for (int k = 0; k < size; k++) {
int temp = arr[k];
for (int j = 0; j < COL; j++) {
if (temp == matrix[i][j])
count++;
}
}
cout << "Elements of array in row " << i+1 << " are: " << count << endl;
count = 0;
}
}
int main() {
int matrix[ROW][COL] = {{2,4,6}, {3,4,6}, {6,2,1}};
int arr[] = {2,4,6};
int size = sizeof(arr) / sizeof(arr[0]);
arr_matrix(matrix, arr, size);
return 0;
} आउटपुट
Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2
उदाहरण (कुशल दृष्टिकोण)
#include <bits/stdc++.h>
using namespace std;
#define ROW 3
#define COL 3
void arr_matrix(int matrix[ROW][COL], int arr[], int size) {
for (int i = 0; i < ROW; i++) {
unordered_map<int, int> um;
for (int j = 0; j < COL; j++)
um[matrix[i][j]] = 1;
int count = 0;
for (int j = 0; j < size; j++)
if (um[arr[j]]) count++;
cout << "Elements of array in row " << i+1 << " are: " << count << endl;
}
}
int main() {
int matrix[ROW][COL] = {{2,4,6}, {3,4,6}, {6,2,1}};
int arr[] = {2,4,6};
int size = sizeof(arr) / sizeof(arr[0]);
arr_matrix(matrix, arr, size);
return 0;
} आउटपुट
Elements of array in row 1 are: 3 Elements of array in row 2 are: 2 Elements of array in row 3 are: 2