आपको एक नंबर और सबअरे लोअर और अपर बाउंड इंडेक्स दिए गए हैं। आपको ऐसे कई तत्वों की गणना करने की आवश्यकता है जो दी गई संख्या से कम या उसके बराबर हों। आइए एक उदाहरण देखें।
इनपुट
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