आपको एक सरणी और लक्ष्य तत्व का इंडेक्स दिया गया है। हमें दिए गए तत्व से बड़े तत्वों की संख्या उसकी दाईं ओर गिननी है। आइए एक उदाहरण देखते हैं।
इनपुट
arr = [2, 3, 5, 1, 4, 2, 6] index = 3
आउटपुट
3
लक्ष्य इंडेक्स का तत्व 1 है। इसकी दाईं ओर तीन तत्व हैं यानी 4, 2, 6 जो 1 से बड़े हैं।
एल्गोरिदम
- सरणी और लक्ष्य तत्व का इंडेक्स आरंभ करें।
- यदि इंडेक्स सरणी की लंबाई से बड़ा या बराबर है, तो -1 लौटाएं।
- एक लूप लिखें जो दिए गए इंडेक्स के अगले तत्व से पुनरावृति करता है।
- यदि तत्व लक्ष्य तत्व से बड़ा है तो काउंट बढ़ाएं।
- काउंट लौटाएं।
कार्यान्वयन
उपरोक्त एल्गोरिदम का C++ में कार्यान्वयन निम्नलिखित है:
#include <bits/stdc++.h> using namespace std; int getNextGreaterElementsCount(int arr[], int n, int index) { if (index >= n) { return -1; } int count = 0; for (int i = index + 1; i < n; i++) { if (arr[index] < arr[i]) { count += 1; } } return count; } int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; int n = 8, index = 1; cout << getNextGreaterElementsCount(arr, n, index) << endl; return 0; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
6