এই সমস্যাতে, আমাদের একটি অ্যারে arr[] দেওয়া আছে। আমাদের কাজ হল অ্যারেতে সর্বোচ্চ ছোট এবং দ্বিতীয় ছোট উপাদানের যোগফল খুঁজে বের করার প্রোগ্রাম তৈরি করা।
আমাদের অ্যারেতে সব সম্ভাব্য সাবঅ্যারে থেকে সবচেয়ে ছোট এবং দ্বিতীয় ছোট উপাদানের যোগফল বের করতে হবে এবং সেগুলোর মধ্যে সর্বোচ্চ যোগফল ফেরত দিতে হবে।
arr[] = {3, 5, 4, 2, 9, 1, 6}
11
সকল সম্ভাব্য সাবঅ্যারে থেকে {2, 9}-এর ছোট এবং দ্বিতীয় ছোট উপাদানের যোগফল সর্বোচ্চ।
যোগফল = 2 + 9 = 11
একটি সহজ সমাধান হল সব সাবঅ্যারে তৈরি করে তাদের ছোট এবং দ্বিতীয় ছোট উপাদান বের করা, যোগফল হিসাব করা এবং সর্বোচ্চটি ফেরত দেওয়া।
একটি আরও দক্ষ সমাধান উদাহরণ পর্যবেক্ষণ থেকে পাওয়া যায়। সর্বোচ্চ যোগফল হবে অ্যারেতে দুটি সন্নিহিত উপাদান জোড়ার যোগফল। আমরা সর্বোচ্চ যোগফল والے জোড়া খুঁজে বের করব।
আরম্ভিকরণ:
maxSum = -1
ধাপ ১:
লুপ i → 0 থেকে n-1
ধাপ ১.১:
যদি maxSum < (arr[i] + arr[i+1]) হয়, তবে maxSum = (arr[i] + arr[i+1])
ধাপ ২:
maxSum ফেরত দাও।
#includeusing namespace std; int calcMaxSumPairs(int arr[], int n) { int maxSum = -1; for (int i = 0; i < (n - 1); i++) if (maxSum < (arr[i] + arr[i + 1])) maxSum = (arr[i] + arr[i + 1]); return maxSum; } int main() { int arr[] = {3, 4, 2, 9, 5, 6}; int n = sizeof(arr) / sizeof(int); cout << "The maximum sum of smallest and second smallest in an array is " << calcMaxSumPairs(arr, n); return 0; }
The maximum sum of smallest and second smallest in an array is 14