當(dāng)前位置:首頁(yè) > IT技術(shù) > Web編程 > 正文

js面試題-1:檢查是否存在重復(fù)元素
2021-09-22 11:29:55

題目描述如下:

給定一個(gè)整數(shù)數(shù)組,判斷是否存在重復(fù)元素。

  • 如果存在一值在數(shù)組中出現(xiàn)至少兩次,函數(shù)返回 true 。
  • 如果數(shù)組中每個(gè)元素都不相同,則返回 false 。
function hasDuplicateItem(list) {
// 具體實(shí)現(xiàn)
}

let list1 = [1, 2, 3];
let list2 = [1, 2, 3, 2];

console.log(hasDuplicateItem(list1)); // false
console.log(hasDuplicateItem(list2)); // true



/**
* 檢查是否存在重復(fù)元素
* 思路1:哈希表 + 計(jì)數(shù)類(lèi)型
* @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;
}

/**
* 檢查是否存在重復(fù)元素
* 思路2:集合去重
* @param {*} list
*/
function hasDuplicateItem(list) {
const set = new Set(list);
return set.size != list.length;
}

參考
??Leetcode 最常見(jiàn)的 150 道前端面試題 (簡(jiǎn)單題 -上篇)??

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

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >