Computer >> Máy Tính >  >> Lập trình >> Javascript

Kiểm tra phần tử đa số trong một mảng được sắp xếp trong JavaScript

Phần tử đa số:

Phần tử đa số trong một mảng có độ dài l là phần tử xuất hiện nhiều hơn l / 2 lần và do đó có nhiều nhất một phần tử như vậy.

Chúng ta cần viết một hàm JavaScript, chẳng hạn như isMajority () lấy một mảng arr luôn được sắp xếp theo thứ tự tăng dần làm đối số đầu tiên.

Đối số thứ hai của hàm sẽ là một số, chúng ta sẽ tìm kiếm trong mảng và trả về true nếu số đó là phần tử đa số hoặc false.

Ví dụ -

Nếu mảng đầu vào và số là -

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

Sau đó, kết quả đầu ra phải là -

const output = true;

vì 5 xuất hiện 3 lần nên lớn hơn (5/2) =2,5. (một nửa độ dài của mảng).

Người ta cho rằng mảng được sắp xếp và nếu tồn tại một phần tử đa số, nó sẽ luôn là phần tử ở giữa vì số đó sẽ phải trải dài trên ít nhất hơn một nửa mảng.

Chúng ta có thể sử dụng logic này để kiểm tra xem số đã cho có phải là phần tử đa số hay không.

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

true