मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। एक इलेक्ट्रॉनिक स्टोर था, जहां बीती रात लूट की वारदात को अंजाम दिया गया है। स्टोर के अंदर मौजूद सभी कीबोर्ड को कुछ पूर्णांक संख्या x से आरोही क्रम में क्रमांकित किया गया था। उदाहरण के लिए, x=4 के लिए और स्टोर में 3 कीबोर्ड थे, तब डिवाइस में इंडेक्स 4, 5 और 6 थे। यदि x=10 और उनमें से 7 थे तो कीबोर्ड में इंडेक्स 10, 11, 12, 13 थे। 14, 15 और 16. डकैती के बाद केवल n कीबोर्ड बचे हैं। उनके पास सरणी ए में संग्रहीत सूचकांक हैं। हमें चोरी किए गए कीबोर्ड की न्यूनतम संभव संख्या ढूंढनी होगी।
इसलिए, यदि इनपुट A =[10, 13, 12, 8] जैसा है, तो आउटपुट 2 होगा, क्योंकि यदि x =8 है तो चोरी किए गए कीबोर्ड की न्यूनतम संख्या 2 है। सूचकांक 9 और 11 वाले कीबोर्ड चोरी हो गए थे।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
sort the array A n := size of A return A[n - 1] - A[0] + 1 - n
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; int solve(vector<int> A) { sort(A.begin(), A.end()); int n = A.size(); return A[n - 1] - A[0] + 1 - n; } int main() { vector<int> A = { 10, 13, 12, 8 }; cout << solve(A) << endl; }
इनपुट
{ 10, 13, 12, 8 }
आउटपुट
2