সংখ্যার একটি অ্যারে দেওয়া হলে, অ্যারের যেকোন উপাদানটি সংখ্যাগরিষ্ঠ উপাদান হবে যদি সেই উপাদানটি অ্যারের দৈর্ঘ্যের 1/2 বার অ্যারেতে উপস্থিত হয়৷
যেমন −
যদি অ্যারের দৈর্ঘ্য 7 হয়,
তারপর যদি অ্যারেতে এমন কোনো উপাদান থাকে যা কমপক্ষে 4 বার প্রদর্শিত হয় তবে এটি সংখ্যাগরিষ্ঠ হিসাবে বিবেচিত হবে। এবং এটি বেশ স্পষ্ট যে কোনো নির্দিষ্ট অ্যারেতে সর্বাধিক একটি সংখ্যাগরিষ্ঠ উপাদান থাকতে পারে।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যেটি পুনরাবৃত্তিমূলক মান সহ সংখ্যার অ্যারে নেয় এবং অ্যারেতে সংখ্যাগরিষ্ঠ উপাদান থাকলে সত্য ফেরত দেয়। যদি অ্যারেতে এমন কোনো উপাদান না থাকে, তাহলে আমাদের ফাংশনটি মিথ্যা প্রত্যাবর্তন করবে।
উদাহরণ
নিম্নলিখিত কোড -
const arr = [12, 5, 67, 12, 4, 12, 4, 12, 6, 12, 12];
const isMajority = arr => {
let maxChar = -Infinity, maxCount = 1;
// this loop determines the possible candidates for majorityElement
for(let i = 0; i < arr.length; i++){
if(maxChar !== arr[i]){
if(maxCount === 1){
maxChar = arr[i];
}else{
maxCount--;
};
}else{
maxCount++;
};
};
// this loop actually checks for the candidate to be the majority element
const count = arr.reduce((acc, val) => maxChar===val ? ++acc : acc, 0);
return count > arr.length / 2;
};
console.log(isMajority(arr)); আউটপুট
এটি কনসোলে −
নিম্নলিখিত আউটপুট তৈরি করবেtrue