陣列中元素唯一齣現次數的 JavaScript
我們要求編寫一個 JavaScript 函式,該函式將一個整數陣列作為第一個也是唯一一個引數。
該函式應判斷陣列中出現的所有整數是否出現次數唯一。
如果出現,則函式應返回 true,否則返回 false。
例如 −
如果輸入陣列是 −
const arr = [7, 5, 5, 8, 2, 4, 7];
則輸出應為 −
const output = false;
因為兩個整數 7 和 5 都各出現 2 次。
我們先使用雜湊對映將整數對映到它們的頻率(出現次數),然後使用該對映構建一個儲存唯一頻率的集合。
示例
以下為程式碼 −
const arr = [7, 5, 5, 8, 2, 4, 7];
const uniqueAppearances = (arr = []) => {
const map = {};
const set = new Set();
for(let i = 0; i < arr.length; i++){
const el = arr[i];
map[el] = (map[el] || 0) + 1;
};
for(key in map){
const value = map[key];
if(set.has(value)){
return false;
};
set.add(value);
};
return true;
};
console.log(uniqueAppearances(arr));輸出
以下為控制檯輸出 −
false
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP