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

सी ++ में एक सरणी में सबसे अधिक बार आने वाला तत्व

हमें एक सरणी दी गई है और हमें इसमें से सबसे अधिक बार आने वाले तत्व को खोजने की आवश्यकता है। आइए एक उदाहरण देखें।

इनपुट

arr = [1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4]

आउटपुट

2

उपरोक्त सरणी में, 2 बार 4 बार आता है जो कि सरणी में किसी भी अन्य की तुलना में सबसे अधिक बार होता है।

एल्गोरिदम - 1

  • ऐरे को इनिशियलाइज़ करें।

  • प्रत्येक तत्व की आवृत्ति को संग्रहीत करने के लिए मानचित्र प्रारंभ करें।

  • प्रत्येक तत्व की आवृत्ति की गणना करें और इसे मानचित्र में संग्रहीत करें।

  • मानचित्र पर पुनरावृति करें और सबसे अधिक आवृत्ति वाला तत्व ढूंढें।

  • तत्व लौटाएं।

एल्गोरिदम - 2

  • सरणी प्रारंभ करें।
  • दिए गए सरणी को क्रमबद्ध करें।
  • अधिकतम गणना, परिणाम और वर्तमान तत्व गणना के लिए चर बनाए रखें।
  • सरणी पर पुनरावृति करके अधिकतम गणना तत्व खोजें।
  • समान तत्व साथ-साथ रहते हैं।
  • परिणाम लौटाएं।

कार्यान्वयन

C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है

#include <bits/stdc++.h>
using namespace std;
int getMostFrequentNumber(int arr[], int n) {
   unordered_map<int, int> elements;
   for (int i = 0; i < n; i++) {
      elements[arr[i]]++;
   }
   int maxCount = 0, res = -1;
   for (auto i : elements) {
      if (maxCount < i.second) {
         res = i.first;
         maxCount = i.second;
      }
   }
   return res;
}
int main() {
   int arr[] = { 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4 };
   int n = 11;
   cout << getMostFrequentNumber(arr, n) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

2

  1. सी ++ में एक सरणी को उलट दें

    लेख C++ कोडिंग का उपयोग करते हुए अवरोही क्रम में उलटे जाने के लिए एक सरणी को प्रदर्शित करता है जिसमें उच्चतम सूचकांक को लूप में सरणी को पार करके निम्नतम सूचकांक में बदल दिया जाता है। उदाहरण #include <iostream> #include <algorithm> using namespace std; void reverseArray(int arr[], int n){

  1. सी ++ में सरणी में प्रत्येक तत्व की सर्पासर गणना खोजें

    मान लीजिए कि एक सरणी A दिया गया है। हमें उस सरणी में प्रत्येक तत्व की संख्या को पार करना होगा। पार करने वाले अधिक से अधिक तत्व होते हैं जो वर्तमान तत्व की सरणी के दाईं ओर मौजूद होते हैं। मान लीजिए A ={2, 7, 5, 3, 0, 8, 1}, श्रेष्ठ हैं {4, 1, 1, 2, 0, 0}, तो 2 में दायीं ओर 4 संख्याएँ हैं, जो बड़ी हैं

  1. सी ++ एसटीएल में ऐरे एल्गोरिदम

    सी ++ 11 के बाद से एसटीएल में अलग-अलग कार्य जोड़े गए हैं। ये फ़ंक्शन एल्गोरिथम हेडर फ़ाइल में मौजूद हैं। यहां हम इसके कुछ कार्य देखेंगे। All_of () फ़ंक्शन का उपयोग एक शर्त की जाँच करने के लिए किया जाता है, जो एक कंटेनर के सभी तत्वों के लिए सही है। आइए विचार प्राप्त करने के लिए कोड देखें उदाहरण