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]
}
相关推荐
2301_821046525 分钟前
Python的深度学习
开发语言·javascript·ecmascript
爱编程的化学家11 分钟前
代码随想录算法训练营第十一天--二叉树2 || 226.翻转二叉树 / 101.对称二叉树 / 104.二叉树的最大深度 / 111.二叉树的最小深度
数据结构·c++·算法·leetcode·二叉树·代码随想录
小高00715 分钟前
🤔函数柯里化:化繁为简的艺术与实践
前端·javascript·面试
却尘18 分钟前
React useMemo 依赖陷阱:组件重挂载,状态无限复原
前端·javascript·react.js
Asort22 分钟前
JavaScript 从零开始(三):浏览器控制台与VS Code协同工作环境搭建详解
前端·javascript
葡萄城技术团队43 分钟前
浏览器为啥要对 JavaScript 定时器“踩刹车”?
javascript
m0_616188491 小时前
el-table的隔行变色不影响row-class-name的背景色
前端·javascript·vue.js
吃着火锅x唱着歌1 小时前
LeetCode 1446.连续字符
算法·leetcode·职场和发展
zheshiyangyang1 小时前
Vue3组件数据双向绑定
前端·javascript·vue.js
愚润求学1 小时前
【贪心算法】day10
c++·算法·leetcode·贪心算法