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

सी ++ में एक क्रमबद्ध सरणी में के-वें लापता तत्व

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दिए गए अक्रमित ऐरे में k-th मिसिंग एलिमेंट का पता लगाता है।

k-th . ढूंढें वह संख्या जो दिए गए क्रमबद्ध सरणी में न्यूनतम से अधिकतम तक गायब है। आइए समस्या को हल करने के लिए चरणों को देखें।

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

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
int findMissingNumber(int arr[], int n, int k) {
   unordered_set<int> numbers;
   int count = 0;
   for (int i = 0; i < n; i++) {
      numbers.insert(arr[i]);
   }
   int max = *max_element(arr, arr + n);
   int min = *min_element(arr, arr + n);
   for (int i = min + 1; i < max; i++) {
      if (numbers.find(i) == numbers.end()) {
         count++;
      }
      if (count == k) {
         return i;
      }
   }
   return -1;
}
int main() {
   int arr[] = { 1, 10, 3, 2, 5 }, n = 5;
   int k = 3;
   cout << findMissingNumber(arr, n, k) << endl;
   return 0;
}

आउटपुट

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

7

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. सी ++ में एम बार संयोजित सरणी से के-वें न्यूनतम तत्व खोजें

    मान लें कि हमारे पास एक सरणी A है, और अन्य दो पूर्णांक K और M हैं। हमें सरणी को M संख्या से कई बार जोड़ने के बाद Kth न्यूनतम तत्व खोजना होगा। मान लीजिए कि एरे ए =[3, 1, 2], के =4 और एम =3 की तरह है, तो ए को 3 बार जोड़ने के बाद, यह [3, 1, 2, 3, 1, 2, 3, 1 होगा। , 2], चौथा सबसे छोटा तत्व यहां 2 है। इ

  1. सी ++ में एक क्रमबद्ध सरणी में के निकटतम संख्याएं खोजें

    विचार करें कि हमारे पास कुछ तत्वों के साथ एक सरणी ए है। सरणी क्रमबद्ध नहीं है। हमारे पास दो अन्य मान X और k हैं। हमारा कार्य सरणी A से X के निकटतम तत्वों की k संख्या ज्ञात करना है। यदि तत्व X सरणी में मौजूद है, तो यह आउटपुट में नहीं दिखाया जाएगा। अगर ए =[48, 50, 55, 30, 39, 35, 42, 45, 12, 16, 53, 2

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

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