当前位置: 首页 > news >正文

LeetCode题解:2341. 数组能形成多少数对,哈希表,详细注释

原题链接

LeetCode题解:2341. 数组能形成多少数对

解题思路:

  1. 遍历数组,并使用Map缓存数字出现的次数关系
    • 如果出现偶数次,map.set(num, true)
    • 如果出现奇数次,map.set(num, false)
  2. 剩余数字的数量为nums.length - 2 * pairCount
/*** @param {number[]} nums* @return {number[]}*/
var numberOfPairs = function(nums) {let map = new Map() // 使用Map缓存数字是否成对let pairCount = 0 // 统计数对数量for (const num of nums) {// 如果已记录了数字:// 1. 已记录数字成对:存储false// 2. 已记录数字不成对:存储true// 如果未记录数字:存储false,表示数字出现一次map.set(num, map.has(num) ? !map.get(num) : false)// 如果map.get(num)为true,表示数字成对,记录1个数量if (map.get(num)) {pairCount++}}// 返回数对数量// 剩余数字数量,可以根据数对数量计算得出return [pairCount, nums.length - 2 * pairCount]
};

http://www.mrgr.cn/news/20614.html

相关文章:

  • QWidget(c++)嵌入window环境的exe
  • 深入解析 Node.js 核心模块与异步编程:高效构建现代服务器应用
  • 阿里中间件——diamond
  • 自定义 SpringBoot Starter
  • 2024国赛数学建模ABC题思路模型
  • Android 打开 GBK项目如何设置成UTF-8
  • 完全分不清固态硬盘和机械硬盘的区别?看使用场景!
  • C++特殊类设计,
  • 【机器学习】朴素贝叶斯
  • 持久化分析
  • C语言新手小白详细教程(8)ASCll编码和字符串
  • 线程池
  • RISC-V (八)定时器中断
  • PWR电源控制(低功耗模式)
  • 【CSS】background样式没有生效
  • Redis 事务揭秘:如何确保数据一致性
  • LeetCode 3174.清除数字:一个不用栈的方法
  • 嵌入式OpenHarmony系统的一些特点
  • 高级java每日一道面试题-2024年9月04日-前端篇-前端的框架分类有哪些?
  • Linux驱动环境配置