আপনাকে একটি অ্যারে, একটি সংখ্যা k, এবং সাবঅ্যারের নিম্ন ও উন্নত সূচক দেওয়া হয়েছে। আপনাকে বের করতে হবে সাবঅ্যারেতে কতগুলো উপাদান k চেয়ে ছোট বা সমান।
উদাহরণ
ইনপুট:
arr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5
আউটপুট:
4
সূচক ০ থেকে ৫ পর্যন্ত ৪টি উপাদান (১, ২, ৩, ৪) রয়েছে যা ৪ চেয়ে ছোট বা সমান।
অ্যালগরিদম
- অ্যারে, সংখ্যা
k, এবং সাবঅ্যারের সীমা সংরক্ষণ করুন। - একটি কাউন্টার ০ দিয়ে শুরু করুন।
lowerথেকেupperপর্যন্ত লুপ চালান।- যদি বর্তমান উপাদান
kচেয়ে ছোট বা সমান হয়, কাউন্ট বাড়ান। - শেষে কাউন্ট ফেরত দিন।
সি++ ইমপ্লিমেন্টেশন
#include <bits/stdc++.h>
using namespace std;
int getElementsCount(int arr[], int n, int lower, int upper, int k) {
if (lower < 0 || upper >= n || lower > upper) return 0;
int count = 0;
for (int i = lower; i <= upper; i++) {
if (arr[i] <= k) count++;
}
return count;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
int n = 8, k = 4;
cout << getElementsCount(arr, n, 0, 3, k) << endl; // আউটপুট: 4
cout << getElementsCount(arr, n, 4, 7, k) << endl; // আউটপুট: 0
return 0;
}
আউটপুট
4 0