मान लीजिए हमारे पास एक सरणी है; हमें जांचना है कि दी गई संख्या x उस सरणी का बहुमत तत्व है या नहीं। सरणी सॉर्टेड है। एक तत्व को बहुमत तत्व कहा जाता है, जब यह सरणी में n/2 बार प्रकट होता है। मान लीजिए एक सरणी {1, 2, 3, 3, 3, 3, 6} जैसी है, x = 3, यहां उत्तर सत्य है क्योंकि 3 सरणी का बहुमत तत्व है। चार 3 हैं। सरणी का आकार 7 है, तो हम देख सकते हैं 4 > 7/2।
हम सरणी में x की घटनाओं को गिन सकते हैं, और यदि संख्या n/2 से अधिक है, तो उत्तर सत्य होगा, अन्यथा असत्य।
उदाहरण
#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"; }आउटपुट
3 is the majority element of the array