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

স্ট্রিক্টলি ডিক্রিজিং সাবঅ্যারে গণনা করা (C++)

একটি অ্যারে দেওয়া আছে। দৈর্ঘ্য ১-এর চেয়ে বড় স্ট্রিক্টলি ডিক্রিজিং সাবঅ্যারে কয়টি আছে তা বের করতে হবে। উদাহরণ: [100, 3, 1, 15] -> [100,3], [100,3,1], [15] মোট ৩টি।

দৈর্ঘ্য l-এর ডিক্রিজিং সিকোয়েন্স পেলে l*(l-1)/2 যোগ করুন।

উদাহরণ

#include <iostream>
using namespace std;

int countSubarrays(int array[], int n) {
    int count = 0, len = 1;
    for (int i = 0; i < n-1; ++i) {
        if (array[i+1] < array[i]) len++;
        else {
            count += (len - 1) * len / 2;
            len = 1;
        }
    }
    if (len > 1) count += (len - 1) * len / 2;
    return count;
}

int main() {
    int A[] = {100, 3, 1, 13, 8};
    int n = sizeof(A) / sizeof(A[0]);
    cout << "Number of decreasing subarrays: " << countSubarrays(A, n);
    return 0;
}

আউটপুট

Number of decreasing subarrays: 4
  1. অ্যালফাবেটিক্যাল অর্ডারে সাবস্ট্রিং গণনা করা (C++)

  2. C++-এ অ্যারেতে সর্বোচ্চ সन्नিহিত জোড় সংখ্যা (Contiguous Even Numbers) এর গণনা

  3. সি++ প্রোগ্রাম: সংখ্যা বিভাজ্য করে এমন অঙ্কগুলোর গণনা (Count of Digits Dividing the Number)

  4. C++-এ রোটেটেড সোর্টেড অ্যারেতে রোটেশন কাউন্ট বের করা