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

C-তে বড় উপাদান ছোট উপাদানের পরে থাকা শর্তে সর্বোচ্চ পার্থক্য নির্ণয়

একটি পূর্ণসংখ্যার অ্যারে দেওয়া আছে। দুটি উপাদানের মধ্যে সর্বোচ্চ পার্থক্য খুঁজে বের করতে হবে এমনভাবে যাতে বড় উপাদানটি ছোট উপাদানের পরে অবস্থান করে (Arr[j] - Arr[i] সর্বোচ্চ, শর্ত j > i)।

উদাহরণ

ইনপুট: Arr[] = { 2, 1, 3, 8, 3, 19, 21 }

আউটপুট: সর্বোচ্চ পার্থক্য - 20

ব্যাখ্যা: ২১ এবং ১-এর মধ্যে পার্থক্য ২০, এবং ২১, ১-এর পরে আছে।

ইনপুট: Arr[] = { 18, 2, 8, 1, 2, 3, 2, 6 }

আউটপুট: ৬

ব্যাখ্যা: ৮ এবং ২-এর মধ্যে পার্থক্য ৬, ৮, ২-এর পরে আছে।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • অ্যারে Arr[] এবং সাইজ n।
  • maxDiff(int arr[], int n) ফাংশনটি O(n) সময়ে পার্থক্য বের করে।
  • MD = arr[1] - arr[0] (প্রাথমিক পার্থক্য), min = arr[0] (ন্যূনতম ভিজিটেড)।
  • লুপ i=1 থেকে n-1: যদি arr[i] - min > MD হয় তবে MD আপডেট। যদি arr[i] < min হয় তবে min আপডেট।
  • একক পাসে সমাধান।

C প্রোগ্রাম উদাহরণ

#include <stdio.h>

int maxDiff(int arr[], int n) {
    int MD = arr[1] - arr[0];
    int min = arr[0];
    for (int i = 1; i < n; i++) {
        if (arr[i] - min > MD)
            MD = arr[i] - min;
        if (arr[i] < min)
            min = arr[i];
    }
    return MD;
}

int main() {
    int arr[] = {2, 5, 7, 3, 4, 12};
    int n = 6;
    printf("সর্বোচ্চ পার্থক্য: %d", maxDiff(arr, n));
    return 0;
}

আউটপুট

সর্বোচ্চ পার্থক্য: 10
  1. C++-এ সার্কুলার অ্যারেতে আঁচবিক উপাদান ছাড়া সর্বোচ্চ যোগফল বের করার পদ্ধতি

  2. অ্যারেতে যেকোনো দুটি এলিমেন্টের ন্যূনতম পার্থক্য (C++)

  3. C++-এ निरপেক্ষ পার্থক্য ১ বা তদন uglיף একটি অ্যারে থেকে সর্বোচ্চ উপাদান নির্বাচন

  4. C++ ব্যবহার করে অ্যারেতে এমন এলিমেন্ট বের করা যেটি সব এলিমেন্টকে ভাগ করে দেয়