您当前的位置: 首页 >  面试

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

js面试题-1:检查是否存在重复元素

彭世瑜 发布时间:2021-09-16 11:32:27 ,浏览量:1

题目描述如下:

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

  • 如果存在一值在数组中出现至少两次,函数返回 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 道前端面试题 (简单题 -上篇)

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.1587s