मान लीजिए हमारे पास एक ऐरे है; हमें जांचना है कि दी गई संख्या x उस ऐरे का बहुमत तत्व है या नहीं। ऐरे सॉर्टेड है। एक तत्व को बहुमत तत्व कहा जाता है जब यह ऐरे में n/2 बार आता है। मान लीजिए एक ऐरे है जैसे {1, 2, 3, 3, 3, 3, 6}, x = 3, यहां उत्तर सत्य है क्योंकि 3 ऐरे का बहुमत तत्व है। चार 3 हैं। ऐरे का आकार 7 है, इसलिए हम देख सकते हैं 4 > 7/2।
हम ऐरे में x की घटनाओं को गिन सकते हैं, और यदि संख्या n/2 से अधिक है, तो उत्तर सत्य होगा, अन्यथा असत्य।
उदाहरण (C++)
#include <iostream>
#include <stack>
using namespace std;
bool isMajorityElement(int arr[], int n, int x){
int freq = 0;
for(int i = 0; i < n; i++){
if(arr[i] == x)
freq++;
if(arr[i] > x)
break;
}
return (freq > n/2);
}
int main() {
int arr[] = {1, 2, 3, 3, 3, 3, 6};
int n = sizeof(arr)/sizeof(arr[0]);
int x = 3;
if (isMajorityElement(arr, n, x))
cout << x << " is the majority element of the array";
else
cout << x << " is not the majority element of the array";
}
इनपुट
[1, 2, 3, 3, 3, 3, 6] 3
आउटपुट
3 is the majority element of the array