आपको एक संख्या और सबअरे के निचले और ऊपरी बाउंड इंडेक्स दिए गए हैं। आपको उन तत्वों की संख्या गिननी है जो दी गई संख्या से कम या बराबर हैं। आइए एक उदाहरण देखते हैं।
इनपुट
arr = [1, 2, 3, 4, 5, 6, 7, 8] k = 4 lower = 0 upper = 5
आउटपुट
4
इंडेक्स 0 और 5 के बीच 4 तत्व हैं जो 4 से कम या बराबर हैं।
एल्गोरिदम
- सरणी, संख्या, और सबअरे इंडेक्स को आरंभ करें।
- काउंट को 0 पर आरंभ करें।
- एक लूप लिखें जो सबअरे के निचले इंडेक्स से ऊपरी इंडेक्स तक पुनरावृति करता है।
- यदि वर्तमान तत्व दी गई संख्या से कम या बराबर है, तो काउंट बढ़ाएं।
- काउंट वापस करें।
कार्यान्वयन
निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:
#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 += 1;
}
}
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;
cout << getElementsCount(arr, n, 4, 7, k) << endl;
return 0;
}
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
4 0