在 JavaScript 中檢查排序陣列中的眾數元素
眾數元素
陣列 arr(長度為 l)中的眾數元素是指出現次數超過 l/2 次的元素,因此最多隻有一個這樣的元素。
我們需要編寫一個 JavaScript 函式,例如 isMajority(),它將一個始終按升序排序的陣列 arr 作為第一個引數。
函式的第二個引數將是一個數字,我們將在這個陣列中搜索該數字,如果該數字是眾數元素則返回 true,否則返回 false。
例如 -
如果輸入陣列和數字為 -
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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP