当前位置:首页 > IT技术 > Web编程 > 正文

js面试题-1:检查是否存在重复元素
2021-09-22 11:29:55

题目描述如下:

给定一个整数数组,判断是否存在重复元素。

  • 如果存在一值在数组中出现至少两次,函数返回 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;
}

参考
​Leetcode 最常见的 150 道前端面试题 (简单题 -上篇)​

本文摘自 :https://blog.51cto.com/u

开通会员,享受整站包年服务立即开通 >