मान लें कि हमारे पास आकार n के साथ एक सरणी है। यह सरणी क्रमबद्ध है। एक तत्व है जिसकी आवृत्ति n/2 से अधिक या उसके बराबर है, जहाँ n सरणी में तत्वों की संख्या है। तो अगर सरणी [3, 4, 5, 5, 5] की तरह है, तो आउटपुट 5 होगा।
यदि हम इस प्रकार के सरणी को बारीकी से देखें, तो हम आसानी से देख सकते हैं कि जिस संख्या की आवृत्ति n/2 से अधिक या उसके बराबर है, वह सूचकांक n/2 पर भी मौजूद होगी। तो तत्व स्थिति n/2 पर पाया जा सकता है
उदाहरण
Source Code:
#include<iostream>
using namespace std;
int higherFreq(int arr[], int n) {
return arr[n / 2];
}
int main() {
int arr[] = { 1, 2, 3, 4 , 4, 4, 4, 4, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "The number " << higherFreq(arr, n) << " has occurred more than or equal to "<<n <<"/2 amount of times";
} आउटपुट -
The number 4 has occurred more than or equal to 10/2 amount of times