题目描述如下:
给定一个整数数组,判断是否存在重复元素。
- 如果存在一值在数组中出现至少两次,函数返回 true 。
- 如果数组中每个元素都不相同,则返回 false 。
function hasDuplicateItem(list) {
// 具体实现
}
let list1 = [1, 2, 3];
let list2 = [1, 2, 3, 2];
console.log(hasDuplicateItem(list1)); // false
console.log(hasDuplicateItem(list2)); // true
/**
* 检查是否存在重复元素
* 思路1:哈希表 + 计数类型
* @param {*} list
*/
function hasDuplicateItem(list) {
const map = new Map();
for (let item of list) {
if (map.has(item)) {
return true;
} else {
map.set(item, 1);
}
}
return false;
}
/**
* 检查是否存在重复元素
* 思路2:集合去重
* @param {*} list
*/
function hasDuplicateItem(list) {
const set = new Set(list);
return set.size != list.length;
}