Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में पंक्ति-वार सॉर्टेड मैट्रिक्स की सभी पंक्तियों में सामान्य तत्व ढूंढें


मान लीजिए हमारे पास एक मैट्रिक्स है जहां प्रत्येक पंक्ति सॉर्टेड है। हमें एक फ़ंक्शन लिखना है जो प्रत्येक पंक्ति में सामान्य तत्वों को ढूंढेगा। मान लीजिए मैट्रिक्स नीचे जैसा है -

C++ में पंक्ति-वार सॉर्टेड मैट्रिक्स की सभी पंक्तियों में सामान्य तत्व ढूंढें

परिणाम 5 होगा।

इसे हल करने के लिए, हम हैश-आधारित दृष्टिकोण का उपयोग करेंगे। यह दृष्टिकोण तब भी उपयोग किया जा सकता है जब पंक्तियां सॉर्टेड न हों। इसे करने के लिए हमें कुछ चरणों का पालन करना होगा -

हम एक हैश टेबल बनाएंगे जिसमें सभी कुंजियां पंक्ति 1 के विशिष्ट तत्व हों। सभी मान 0 होंगे

मैट्रिक्स में प्रत्येक तत्व के माध्यम से लूप करें, यदि संख्या हैश टेबल में मौजूद है तो गिनती को 1 से बढ़ाएं। अंत में जांचें कि क्या कोई मान है जिसकी गिनती मैट्रिक्स की पंक्ति संख्या के समान है। यदि हां तो वह प्रत्येक पंक्ति में मौजूद है। (यह मानते हुए कि एक मान एक पंक्ति में दोहराया नहीं जाता है)

उदाहरण

#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;     int i, j;     for (i = 0; i < M; i++) {         count[matrix[i][0]]++;         for (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

  1. - C++ प्रोग्राम: दी गई स्ट्रिंग में "1(0+)1" के सभी पैटर्न ज्ञात करना

    मान लें किसी स्ट्रिंग में 1(0+)1 जैसे पैटर्न हैं। जहां (0+) 1 की गैर-खाली लगातार घटनाओं को इंगित करता है। हमें सभी पैटर्न ज्ञात करने हैं। पैटर्न ओवरलैप हो सकते हैं। स्ट्रिंग आवश्यक रूप से बाइनरी स्ट्रिंग नहीं है। यह केवल अंक और लोअरकेस वर्ण रख सकती है। मान लें स्ट्रिंग 1101001 की तरह है, तो ऐसे दो प

  1. - C++ प्रोग्राम: दिए गए सेट के सभी विशिष्ट उपसमुच्चय (subsets) ज्ञात करना

    यहां हम देखेंगे कि दिए गए सेट के सभी विशिष्ट उपसमुच्चय कैसे प्रदर्शित करें। इसलिए यदि सेट {1, 2, 3} है, तो उपसमुच्चय होंगे {}, {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, {1, 2, 3}। सभी उपसमुच्चयों के सेट को पावर सेट (power set) कहा जाता है। पावर सेट में 2n तत्व होते हैं। हम 0 से 2n (बहिष्कृत) तक लूप कर

  1. - पायथन में मैट्रिक्स की सभी पंक्तियों में सामान्य विशिष्ट तत्व खोजें

    मान लीजिए हमारे पास m x m क्रम का एक वर्ग मैट्रिक्स है; हमें दिए गए मैट्रिक्स की सभी पंक्तियों में सामान्य सभी विशिष्ट तत्वों को ढूंढना है।तो, यदि इनपुट इस तरह है:13215417153243615215412152643221942215तो आउटपुट [2, 4, 15] होगा।इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:sortRows() फंक्शन