LeetCode题解:剑指 Offer 56 - I. 数组中数字出现的次数,哈希表,JavaScript,详细注释

原题链接:
https://leetcode.cn/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/

解题思路:

  1. 遍历nums,使用Set保存第一次遇到的数字。
  2. 如果第二次遇到相同数字,将其从Set中删除。
  3. 最终Set中只会留下2个数字,即为只出现了一次的数字。
javascript 复制代码
/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function (nums) {
  let set = new Set() // 使用哈希表保存遍历时遇到的数字

  for (const num of nums) {
    // 如果遇到出现过的数字,将其从Set中删除
    if (set.has(num)) {
      set.delete(num)
    } else {
      // 第一次遇到的数字,将其加入Set
      set.add(num)
    }
  }

  // 最终Set中只剩下2个只出现过一次的元素
  return [...set]
}
相关推荐
橙某人3 分钟前
LogicFlow 交互新体验:告别直连,丝滑贝塞尔轨迹实战!🍫
前端·javascript·vue.js
m0_6726565426 分钟前
JavaScript性能优化实战技术文章大纲
开发语言·javascript·性能优化
AmsWait39 分钟前
微信H5订阅消息接入实战:样式错乱、返回值解析报错?避坑指南来了
javascript·微信
不爱吃糖的程序媛41 分钟前
在鸿蒙PC上体验JavaScript应用开发:系统信息查看工具
javascript·华为·harmonyos
大布布将军1 小时前
⚡后端安全基石:JWT 原理与身份验证实战
前端·javascript·学习·程序人生·安全·node.js·aigc
huali1 小时前
社区划分:让AI理解你的代码重构意图
前端·javascript·vue.js
im_AMBER1 小时前
Leetcode 90 最佳观光组合
数据结构·c++·笔记·学习·算法·leetcode
不老刘1 小时前
前端面试八股文:单线程的JavaScript是如何实现异步的
前端·javascript·面试
指尖跳动的光1 小时前
web网页如何禁止别人移除水印
前端·javascript·css
chenbin___1 小时前
JavaScript 中!!、?? 和 || 使用介绍
前端·javascript·vue.js