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]
}
相关推荐
晴殇i3 分钟前
前端代码规范体系建设与团队落地实践
前端·javascript·面试
开发者小天11 分钟前
React中使用useParams
前端·javascript·react.js
拉不动的猪1 小时前
浏览器之内置四大多线程API
前端·javascript·浏览器
拉不动的猪1 小时前
Token无感刷新全流程(Vue + Axios + Node.js(Express))
java·javascript·vue.js
一雨方知深秋1 小时前
AJAX学习 ---- axios体验
javascript·http·ajax·axios·url·catch·then
努力学算法的蒟蒻1 小时前
day11(11.11)——leetcode面试经典150
算法·leetcode·面试
im_AMBER1 小时前
Leetcode 51
笔记·学习·算法·leetcode·深度优先
做怪小疯子2 小时前
LeetCode 热题 100——哈希——字母异位词分组
算法·leetcode·哈希算法
小欣加油2 小时前
leetcode 474 一和零
c++·算法·leetcode·职场和发展·动态规划
Man2 小时前
当我们执行 npm run xxx 的时候实际执行逻辑和流程
前端·javascript·前端框架