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