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

C++ में O(n) समय से कम समय में सीमित श्रेणी के सरणी में प्रत्येक तत्व की आवृत्ति ज्ञात कीजिए


मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है। सरणी A है, और आकार n है। हमारा कार्य ओ (एन) समय से कम समय में सरणी में सभी तत्वों की आवृत्ति का पता लगाना है। तत्वों का आकार एक मान से कम होना चाहिए जैसे कि एम। यहां हम द्विआधारी खोज दृष्टिकोण का उपयोग करेंगे। यहां हम सरणी को दो भागों में विभाजित करेंगे यदि अंतिम तत्व अलग हैं, यदि इसके दोनों अंतिम तत्व समान हैं, तो इसका मतलब है कि सरणी में सभी तत्व समान हैं क्योंकि सरणी पहले से ही क्रमबद्ध है।

उदाहरण

#include<iostream>
#include<vector>
using namespace std;
void calculateFreq(int arr[], int left, int right, vector<int>& frequency) {
   if (arr[left] == arr[right])
      frequency[arr[left]] += right - left + 1;
   else {
      int mid = (left + right) / 2;
      calculateFreq(arr, left, mid, frequency);
      calculateFreq(arr, mid + 1, right, frequency);
   }
}
void getAllFrequency(int arr[], int n) {
   vector<int> frequency(arr[n - 1] + 1, 0);
   calculateFreq(arr, 0, n - 1, frequency);
   for (int i = 0; i <= arr[n - 1]; i++)
      if (frequency[i] != 0)
         cout << "Frequency of element " << i << " is " << frequency[i] << endl;
}
int main() {
   int arr[] = { 10, 10, 10, 20, 30, 30, 50, 50, 80, 80, 80, 90, 90, 99 };
   int n = sizeof(arr) / sizeof(arr[0]);
   getAllFrequency(arr, n);
}

आउटपुट

Frequency of element 10 is 3
Frequency of element 20 is 1
Frequency of element 30 is 2
Frequency of element 50 is 2
Frequency of element 80 is 3
Frequency of element 90 is 2
Frequency of element 99 is 1

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

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

  1. सी ++ प्रोग्राम 'के' को खोजने के लिए ऐसा है कि प्रत्येक सरणी तत्व के साथ इसका मॉड्यूलस समान है

    इस लेख में, हम एक पूर्णांक k को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे, जैसे कि किसी दिए गए सरणी के प्रत्येक तत्व के साथ इसका मापांक समान हो। उदाहरण के लिए, मान लें कि हमें एक सरणी दी गई है, arr = {12, 22, 32} तब हमारे पास k =1, 2, 5, 10 का आउटपुट मान होता है। y) में दो मानों का मामला लें। तब ह

  1. सी ++ प्रोग्राम अद्वितीय जोड़े खोजने के लिए जैसे कि प्रत्येक तत्व एन से कम या बराबर है

    इस लेख में, हम एन से कम या उसके बराबर तत्वों वाली संख्याओं के अद्वितीय जोड़े खोजने और कुछ निश्चित शर्तों का पालन करने के लिए एक कार्यक्रम पर चर्चा करेंगे - दो संख्याओं के बीच के अंतर का वर्ग उन दो संख्याओं के एलसीएम के बराबर होना चाहिए। उन दो संख्याओं के HCF को किन्हीं दो क्रमागत संख्याओं के ग