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

सी ++ में सभी पंक्तियों में सबसे छोटा सामान्य तत्व खोजें


मान लीजिए कि हमारे पास एक मैट्रिक्स मैट है जहां प्रत्येक पंक्ति को गैर-घटते क्रम में क्रमबद्ध किया गया है, हमें सभी पंक्तियों में सबसे छोटा सामान्य तत्व खोजना होगा। यदि कोई सामान्य तत्व नहीं है, तो -1 लौटाएं। तो अगर मैट्रिक्स की तरह है -

1 2 3 4 5
2 4 5 8 10
3 5 7 9 11
1 3 5 7 9

आउटपुट 5 होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • मैप को परिभाषित करें m, n :=मैट्रिक्स की पंक्ति गणना,

  • यदि n 0 नहीं है, तो x =स्तंभ आकार, अन्यथा 0

  • मैं के लिए 0 से n - 1 की सीमा में

    • j के लिए 0 से x - 1 की सीमा में

      • अगर m[mat[i, j]] + 1 =i + 1, तो m[mat[i, j]] को 1 से बढ़ा दें

  • प्रत्येक कुंजी-मान युग्म के लिए i

    • यदि i का मान n है, तो i की कुंजी लौटाएं

  • वापसी -1

उदाहरण (C++)

आइए हम इसे बेहतर ढंग से समझने के लिए निम्नलिखित कार्यान्वयन को देखें -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   int smallestCommonElement(vector<vector<int>>& mat) {
      map <int, int> m;
      int n = mat.size();
      int x = n? mat[0].size() : 0;
      for(int i = 0; i < n; i++){
         for(int j = 0; j < x; j++){
            if(m[mat[i][j]] + 1 == i + 1){
               m[mat[i][j]]++;
            }
         }
      }
      map <int, int> :: iterator it = m.begin();
      while(it != m.end()){
         if(it->second == n){
            return it->first;
         }
         it++;
      }
      return -1;
   }
};
main(){
   vector<vector<int>> v = {{1,2,3,4,5},{2,4,5,8,10},{3,5,7,9,11},{1,3,5,7,9}};
   Solution ob;
   cout << (ob.smallestCommonElement(v));
}

इनपुट

[[1,2,3,4,5],[2,4,5,8,10],[3,5,7,9,11],[1,3,5,7,9]]

आउटपुट

5

  1. C++ में किसी सरणी में सबसे छोटे मान की आवृत्ति ज्ञात कीजिए

    यहां हम देखेंगे कि किसी सरणी में सबसे छोटे तत्व की आवृत्ति कैसे ज्ञात करें। मान लीजिए कि सरणी तत्व [5, 3, 6, 9, 3, 7, 5, 8, 3, 12, 3, 10] हैं, यहाँ सबसे छोटा तत्व 3 है, और इस तत्व की आवृत्ति 4 है। तो आउटपुट 4 है । इसे हल करने के लिए हमें सूची का सबसे छोटा तत्व मिलेगा, फिर हम पहली संख्याओं की घटनाओं

  1. C++ में समांतर चतुर्भुज के सभी संभव निर्देशांक ज्ञात कीजिए

    दिए गए तीन निर्देशांकों में से सभी संभव निर्देशांक ज्ञात कीजिए जिससे एक शून्येतर क्षेत्र का e समांतर चतुर्भुज बनाया जा सके। मान लीजिए ए, बी, सी तीन दिए गए बिंदु हैं, हमारे पास केवल तीन संभावित स्थितियां हो सकती हैं। AB, AC भुजाएँ हैं, और BC विकर्ण है AB, BC भुजाएँ हैं, और AC विकर्ण है BC, AC भुजाएँ

  1. सी++ प्रोग्राम सरणी को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए

    हम एरे को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए एक C++ प्रोग्राम विकसित करेंगे। एल्गोरिदम Begin    Function CreatePartition() has an array a, and the lower l and upper limit h as arguments    in := l and pi := h    for i in range l to h, do