ধরুন আমাদের 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