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]
}
相关推荐
用户302822530681 小时前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript
smj2302_796826522 小时前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode
万少2 小时前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
午彦琳2 小时前
2026.9.9
数据结构·算法·leetcode
一夜枫林3 小时前
vue实现scroll-view上下滑动右侧左右滑动
前端·javascript·vue.js
志尊宝3 小时前
Vue3 零基础每日笔记(011):生命周期钩子——在正确的时间做正确的事
javascript·vue.js·笔记
YWL3 小时前
OpenLayers地图分享:URL参数同步+分享链接生成,让用户一键分享地图视角
前端·javascript·vue·openlayers
橘子汽水1683 小时前
Leetcode 200,994岛屿数量,腐烂的橘子
数据结构·算法·leetcode
梦醒沉醉4 小时前
5、表达式与运算符
javascript
Tisfy5 小时前
LeetCode 3871.统计范围内的逗号 II:每次算一个逗号
数学·算法·leetcode·题解