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]
}
相关推荐
诚实可靠王大锤15 小时前
React Native 输入框与按钮焦点冲突解决方案(rn版本0.70.3)
前端·javascript·react native·react.js
洛水水16 小时前
【力扣100题】32.将有序数组转换为二叉搜索树
数据结构·算法·leetcode
如竟没有火炬17 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先
水木流年追梦18 小时前
大模型入门-应用篇3-Agent智能体
开发语言·python·算法·leetcode·正则表达式
洛水水18 小时前
【力扣100题】31.二叉树的层序遍历
算法·leetcode·职场和发展
洛水水18 小时前
【力扣100题】41.爬楼梯
算法·leetcode·职场和发展
Pkmer18 小时前
LeetCode 上极少见的工程级滑窗实现
python·leetcode
zithern_juejin18 小时前
Date/RegExp/Error/ArrayBuffer
javascript
燐妤19 小时前
前端HTML编程5:JavaScript完全指南
前端·javascript·html
八月欢喜19 小时前
【Facebook】 实时消息监控难点解析
javascript·python·facebook