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]
}
相关推荐
球球pick小樱花7 分钟前
游戏官网前端工具库:海内外案例解析
前端·javascript·css
喝水的长颈鹿19 分钟前
【大白话前端 02】网页从解析到绘制的全流程
前端·javascript
用户145369814587822 分钟前
VersionCheck.js - 让前端版本更新变得简单优雅
前端·javascript
codingWhat26 分钟前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js
码路飞34 分钟前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
Lee川37 分钟前
优雅进化的JavaScript:从ES6+新特性看现代前端开发范式
javascript·面试
颜酱1 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
一拳不是超人3 小时前
Electron主窗口弹框被WebContentView遮挡?独立WebContentView弹框方案详解!
前端·javascript·electron
wuhen_n4 小时前
代码生成:从AST到render函数
前端·javascript·vue.js
Lee川4 小时前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试