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

C++-এ দেওয়া শর্ত পূরণকারী সর্বোচ্চ সাব-অ্যারে আকার (Maximum size of sub-array that satisfies the given condition)

এই টিউটোরিয়ালে আমরা একটি পূর্ণসংখ্যার অ্যারে থেকে দেওয়া শর্ত পূরণকারী সর্বোচ্চ দৈর্ঘ্যের সাব-অ্যারে বের করব। শর্ত: arr[k] > arr[k+1] যখন k বিজোড় এবং arr[k] < arr[k+1] যখন k জোড়, অথবা এর বিপরীত।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
//comparing values of a and b
int cmp(int a, int b) {
    return (a > b) - (a < b);
}
//returning longest substring
int maxSubarraySize(int arr[], int n) {
    int ans = 1;
    int anchor = 0;
    for (int i = 1; i < n; i++) {
        int c = cmp(arr[i - 1], arr[i]);
        if (c == 0)
            anchor = i;
        else if (i == n - 1 || c * cmp(arr[i], arr[i + 1]) != -1) {
            ans = max(ans, i - anchor + 1);
            anchor = i;
        }
    }
    return ans;
}
int main() {
    int arr[] = {9, 4, 2, 10, 7, 8, 8, 1, 9};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << maxSubarraySize(arr, n);
}

আউটপুট

5
  1. C++-এ একটি দিয়ে দেয়া সংখ্যার অঙ্ক ব্যবহার করে সর্বোচ্চ সংখ্যা নির্ণয়

  2. C++-এ Nটি রেঞ্জ থেকে সব উপাদান কভার করা এমন একটি রেঞ্জ খুঁজে বের করা

  3. C++-এ Мак্সিমাম সাইজ ২ এবং সম সীমাবদ্ধতা দিয়ে মিনিমাম পার্টিশন

  4. সি++ প্রোগ্রাম: দেওয়া শর্ত পূরণকারী a এবং b সংখ্যা খুঁজে বের করা