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

तत्व C++ में क्रमबद्ध सरणी में 25% से अधिक दिखाई दे रहा है

मान लीजिए कि हमारे पास एक सरणी ए है। कुछ तत्व हैं। कुछ तत्व सामान्य हैं। हमें एक ऐसा तत्व वापस करना होगा जो सरणी में 25% से अधिक रिक्त स्थान प्रदर्शित कर रहा हो। तो अगर ए =[1, 2, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7], यहाँ 4 चार बार आया है। यह 12 के 25% से अधिक है (सरणी का आकार)

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

  • तत्वों को पढ़ें और उनकी संबंधित आवृत्तियों को संग्रहीत करें
  • यदि आवृत्ति सरणी आकार के 25% से अधिक है, तो परिणाम लौटाएं।

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
      int findSpecialInteger(vector<int>& arr) {
         int n = arr.size();
         int req = n / 4;
         unordered_map <int, int> m;
         int ans = -1;
         for(int i = 0; i < n; i++){
            m[arr[i]]++;
            if(m[arr[i]] > req)ans = arr[i];
         }
         return ans;
      }
};
main(){
   Solution ob;
   vector<int> c = {1,2,4,4,4,4,5,5,6,6,7,7};
   cout << ob.findSpecialInteger(c);
}

इनपुट

[1,2,4,4,4,4,5,5,6,6,7,7]

आउटपुट

4

  1. C++ में क्रमबद्ध सरणी में अधिकांश तत्व की जाँच करें

    7/2 देख सकते हैं। हम सरणी में x की घटनाओं की गणना कर सकते हैं, और यदि संख्या n/2 से अधिक है, तो उत्तर सही होगा, अन्यथा गलत। उदाहरण #include <iostream> #include <stack> using namespace std; bool isMajorityElement(int arr[], int n, int x){    int freq = 0;    for(int i

  1. दो से अधिक (या सरणी) संख्याओं के GCD के लिए C++ प्रोग्राम?

    दो संख्याओं का सार्व भाजक वे संख्याएँ होती हैं जो उन दोनों की भाजक होती हैं। उदाहरण के लिए, 12 के भाजक 1, 2, 3, 4, 6, 12 हैं। 18 के भाजक 1, 2, 3, 6, 9, 18 हैं। इस प्रकार, 12 और 18 के उभयनिष्ठ भाजक 1, 2 हैं। , 3, 6। इनमें से सबसे बड़ा, शायद आश्चर्यजनक रूप से, 12 और 18 का कहा जाता है। दो पूर्णांकों a

  1. दो से अधिक (या सरणी) संख्याओं के जीसीडी 0 के लिए सी++ प्रोग्राम?

    यहाँ हम देखेंगे कि कैसे हम दो से अधिक संख्याओं की gcd प्राप्त कर सकते हैं। दो संख्याओं का gcd खोजना आसान है। जब हम दो से अधिक संख्याओं का gcd ज्ञात करना चाहते हैं, तो हमें gcd के साहचर्यता नियम का पालन करना होगा। उदाहरण के लिए, यदि हम {w, x, y, z} का gcd खोजना चाहते हैं, तो यह {gcd(w,x), y, z} होगा,