इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दिए गए सॉर्ट किए गए ऐरे में k-th मिसिंग एलिमेंट का पता लगाता है।
दिए गए क्रमबद्ध सरणी में न्यूनतम से अधिकतम तक अनुपलब्ध k-वें संख्या ज्ञात कीजिए। आइए समस्या को हल करने के लिए चरणों को देखें।
- सॉर्ट किए गए ऐरे को इनिशियलाइज़ करें।
- दो चर अंतर शुरू करें और k से गिनें।
- सरणी पर पुनरावृति करें।
- यदि वर्तमान तत्व अगले तत्व के बराबर नहीं है।
- दो संख्याओं के बीच अंतर ज्ञात कीजिए।
- यदि अंतर k से अधिक या उसके बराबर है, तो वर्तमान तत्व प्लस काउंट लौटाएं।
- अन्यथा गिनती से अंतर घटाएं।
- यदि वर्तमान तत्व अगले तत्व के बराबर नहीं है।
- वापसी -1.
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h> using namespace std; int findMissingNumber(int arr[], int k, int n) { int difference, count = k; for(int i = 0 ; i < n - 1; i++) { if ((arr[i] + 1) != arr[i + 1]) { difference = arr[i + 1] - arr[i] - 1; if (difference >= count) { return arr[i] + count; }else { count -= difference; } } } return -1; } int main() { int arr[] = { 1, 2, 3, 5, 10 }, n = 5; int k = 3; cout << findMissingNumber(arr, k, n) << endl; return 0; }
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
7
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।