কম্পিউটার টিউটোরিয়াল

C++-এ অ্যারেতে সবচেয়ে ছোট ও দ্বিতীয় ছোট এলিমেন্টের সর্বোচ্চ সম বের করার প্রোগ্রাম


সমস্যা বিবরণ

একটি অ্যারে দেওয়া থাকলে, প্রতিটি আডজেসেন্ট জোড়ার (arr[i], arr[i+1]) মধ্যে সবচেয়ে ছোট ও দ্বিতীয় ছোট মানগুলো বের করুন (যা বোঝায় সে দুটি মানই) এবং তাদের সমের সর্বোচ্চ মান খুঁজে বের করুন।

নোট: দুটি এলিমেন্টের জোড়ার ক্ষেত্রে, ছোট এবং দ্বিতীয় ছোট অর্থাৎ উভয় মানই।

সমাধানের পদ্ধতি

  1. যদি N < 2 হয়, -1 রিটার্ন করুন।
  2. res = arr[0] + arr[1] ইনিশিয়ালাইজ করুন।
  3. i = 1 থেকে N-2 পর্যন্ত লুপ: res = max(res, arr[i] + arr[i+1])।
  4. res রিটার্ন করুন।

C++ কোড উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int pairWithMaxSum(int arr[], int N) {
    if (N < 2) return -1;
    int res = arr[0] + arr[1];
    for (int i = 1; i < N - 1; i++)
        res = max(res, arr[i] + arr[i + 1]);
    return res;
}

int main() {
    int arr[] = {4, 3, 1, 5, 6};
    int N = sizeof(arr) / sizeof(int);
    cout << pairWithMaxSum(arr, N) << endl;
    return 0;
}

আউটপুট

11

ব্যাখ্যা

অ্যারে: [4,3,1,5,6]

আডজেসেন্ট জোড়া: (4,3)=7, (3,1)=4, (1,5)=6, (5,6)=11 → সর্বোচ্চ 11

জটিলতা

  • সময়: O(N)
  • স্থান: O(1)
  1. C++-এ অ্যারে থেকে যুগল তৈরি করে সর্বোচ্চ বিটওয়াইজ AND মান

  2. সি++ প্রোগ্রাম: অ্যারেতে সর্বনিম্ন ও দ্বিতীয় সর্বনিম্ন উপাদান খুঁজে বের করা

  3. C++-এ ডিভাইড অ্যান্ড কঙ্কর ব্যবহার করে मैक्सিমাম সাবঅ্যারে সম বের করা

  4. C++-এ সম অ্যারে পাজল (Sum Array Puzzle) সমাধান