Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การตรวจสอบองค์ประกอบส่วนใหญ่ในอาร์เรย์ที่เรียงลำดับใน JavaScript


องค์ประกอบหลัก:

องค์ประกอบส่วนใหญ่ในอาร์เรย์ arr ของความยาว l เป็นองค์ประกอบที่ปรากฏมากกว่า l/2 ครั้ง ดังนั้นจึงมีองค์ประกอบดังกล่าวได้ไม่เกินหนึ่งองค์ประกอบ

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript เช่น isMajority() ที่รับอาร์เรย์ arr ซึ่งจะถูกจัดเรียงตามลำดับที่เพิ่มขึ้นเสมอเป็นอาร์กิวเมนต์แรก

อาร์กิวเมนต์ที่สองของฟังก์ชันจะเป็นตัวเลข ซึ่งเราจะค้นหาอาร์เรย์และคืนค่า จริง หากตัวเลขนั้นเป็นองค์ประกอบส่วนใหญ่หรือเป็นเท็จ

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตและตัวเลขเป็น −

const arr = [5, 5, 5, 12, 15];
const num = 5;

จากนั้นผลลัพธ์ควรเป็น −

const output = true;

เพราะ 5 ปรากฏขึ้น 3 ครั้งซึ่งมากกว่า (5 / 2) =2.5 (ครึ่งหนึ่งของความยาวของอาร์เรย์)

กำหนดให้อาร์เรย์ถูกจัดเรียงและหากมีองค์ประกอบส่วนใหญ่อยู่ มันจะเป็นองค์ประกอบกลางเสมอเพราะตัวเลขนั้นจะต้องครอบคลุมอย่างน้อยมากกว่าครึ่งหนึ่งของอาร์เรย์

เราสามารถใช้ตรรกะนี้ตรวจสอบว่าตัวเลขที่กำหนดเป็นองค์ประกอบส่วนใหญ่หรือไม่

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr = [5, 5, 5, 12, 15];
const num = 5;
const isMajority = (arr = [], num = 1) => {
   const { length } = arr;
   if(!length){
      return false;
   };
   const middle = Math.floor(length / 2);
   if(arr[middle] === num){
      return true;
   }else{
      return false;
   };
};
console.log(isMajority(arr, num));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

true