【Leetcode 961 】 在长度 2N 的数组中找出重复 N 次的元素 —— 哈希表

给你一个整数数组 nums ,该数组具有以下属性:

  • nums.length == 2 * n.
  • nums 包含 n + 1不同的 元素
  • nums 中恰有一个元素重复 n

找出并返回重复了 n次的那个元素。

示例 1:

复制代码
输入:nums = [1,2,3,3]
输出:3

示例 2:

复制代码
输入:nums = [2,1,2,5,3,2]
输出:2

示例 3:

复制代码
输入:nums = [5,1,5,2,5,3,5,4]
输出:5

哈希表

TypeScript 复制代码
function repeatedNTimes(nums: number[]): number {
  const numMap = new Map<number, number>();
  const n = nums.length / 2;
  return nums.find((num) => {
    const v = (numMap.get(num) || 0) + 1;
    numMap.set(num, v);
    return numMap.get(num) === n;
  })!;
}
相关推荐
无敌最俊朗@2 分钟前
双指针-力扣hot100-移动零.283
算法·leetcode·职场和发展
练习时长一年4 分钟前
LeetCode热题100(腐烂的橘子)
算法·leetcode·职场和发展
百万蹄蹄向前冲3 小时前
Trae Genimi3跟着官网学实时通信 Socket.io框架
前端·后端·websocket
狂炫冰美式4 小时前
TRAE SOLO 驱动:重构AI模拟面试产品的复盘
前端·后端·面试
Тиё Сиротака6 小时前
红包分配算法的严格数学理论与完整实现
算法
1024肥宅6 小时前
JavaScript 拷贝全解析:从浅拷贝到深拷贝的完整指南
前端·javascript·ecmascript 6
potato_may6 小时前
链式二叉树 —— 用指针构建的树形世界
c语言·数据结构·算法·链表·二叉树
欧阳天风6 小时前
js实现鼠标横向滚动
开发语言·前端·javascript
java修仙传7 小时前
每日一题,力扣560. 和为 K 的子数组
算法·leetcode
局i7 小时前
Vue 指令详解:v-for、v-if、v-show 与 {{}} 的妙用
前端·javascript·vue.js