মান লোয়া একটি অ্যারে; আমাদের যাচাই করতে হবে দেওয়া সংখ্যা x কি অ্যারেটির মেজোরিটি এলিমেন্ট কিনা। অ্যারেটি সোর্টেড। একটি উপাদান মেজোরিটি এলিমেন্ট বলা হয় যখন সেটি অ্যারেতে n/2 বার বা তার বেশি বার আবির্ভূত হয়। ধরুন একটি অ্যারে {1, 2, 3, 3, 3, 3, 6}, x = 3, এখানে উত্তর true কারণ 3 অ্যারেটির মেজোরিটি এলিমেন্ট। এখানে চারটি 3 রয়েছে। অ্যারে সাইজ ৭, তাই ৪ > ৭/২।
আমরা অ্যারেতে x-এর আবির্ভাব গণনা করব, এবং যদি সংখ্যা n/2-এর চেয়ে বড় হয়, তবে উত্তর true, অন্যথায় false।
উদাহরণ (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