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