इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो दिए गए सॉर्ट किए गए ऐरे में 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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।