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]
}
相关推荐
ohyeah4 分钟前
JavaScript 面向对象的本质:从对象模板到组合继承的完整演进
前端·javascript
国服第二切图仔15 分钟前
Electron for鸿蒙PC项目实战之天气预报应用
javascript·electron·harmonyos·鸿蒙pc
Danny_FD36 分钟前
使用docx库实现文档导出
前端·javascript
.柒宇.37 分钟前
力扣hot100---42.接雨水(java版)
java·算法·leetcode
国服第二切图仔38 分钟前
Electron for鸿蒙PC项目之侧边栏组件示例
javascript·electron·harmonyos·鸿蒙pc
祈澈菇凉1 小时前
Next.js 零基础开发博客后台管理系统教程(一):环境搭建与项目初始化
开发语言·javascript·ecmascript
网络点点滴1 小时前
Vue3路由的props
前端·javascript·vue.js
之恒君1 小时前
PromiseResolveThenableJobTask 的在Promise中的使用
javascript·promise
骨子里的偏爱1 小时前
uniapp实现数据存储到本地文件,除非卸载app,否则数据一直存在
javascript·chrome·uni-app
Heo1 小时前
先把 Rollup 搞明白,再去学 Vite!
前端·javascript·面试