題目描述如下:
給定一個(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;
}
本文摘自 :https://blog.51cto.com/u