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

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


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

इनपुट

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

आउटपुट

2

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

एल्गोरिदम - 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++ में सरणी रिवर्स

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

  1. - C++ में सरणी के प्रत्येक तत्व का सरपासर काउंट खोजें

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

  1. - C++ STL में सरणी एल्गोरिदम (C++11 से)

    C++11 के बाद से STL में विभिन्न फ़ंक्शन जोड़े गए हैं। ये फ़ंक्शन एल्गोरिदम हेडर फाइल में मौजूद हैं। यहां हम इनमें से कुछ फ़ंक्शन देखेंगे। all_of() फ़ंक्शन का उपयोग एक शर्त की जांच के लिए किया जाता है, जो एक कंटेनर के सभी तत्वों के लिए सही है। आइए कोड देखें। उदाहरण #include <iostream> #includ