数组中元素唯一出现次数的 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