【Leetcode 1512 】 好数对的数目—— 数组模拟哈希表 与 等差数列求和

server/2024/10/18 2:26:28/

给你一个整数数组 nums 。

如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。

返回好数对的数目。

示例 1:

输入:nums = [1,2,3,1,1,3]
输出:4
解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始

示例 2:

输入:nums = [1,1,1,1]
输出:6
解释:数组中的每组数字都是好数对

示例 3:

输入:nums = [1,2,3]
输出:0

数组模拟哈希表 与 等差数列求和

// 数组模拟哈希表 与 等差数列求和
function numIdenticalPairs(nums: number[]): number {const arr = Array(101).fill(0);for (const n of nums) {arr[n]++;}//等差数列求和return arr.reduce((pre, cur) =>cur === 0 ? pre : (pre += (cur * (cur - 1)) / 2));
}

哈希表

// 哈希表
function numIdenticalPairs2(nums: number[]): number {const map = new Map();let res = 0;for (const n of nums) {map.set(n, (map.get(n) || 0) + 1);if (map.get(n) > 1) {res += map.get(n) - 1;}}return res;
}


http://www.ppmy.cn/server/103968.html

相关文章

【C++贪心】2498. 青蛙过河 II

本文涉及知识点 贪心 优化后不需要二分 LeetCode2498. 青蛙过河 II 给你一个下标从 0 开始的整数数组 stones &#xff0c;数组中的元素 严格递增 &#xff0c;表示一条河中石头的位置。青蛙一开始在第一块石头上&#xff0c;它想到达最后一块石头&#xff0c;然后回到第一块…

我的新项目又来咯!

大家好&#xff0c;我是鱼皮&#xff0c;今天分享个我的新项目公开课预告~ 今晚&#xff08;8 月 22 号&#xff09;晚 20 点 &#xff0c;我会继续在 B 站和抖音《程序员鱼皮》账号 直播新项目&#xff0c;依然是从 0 到 1 全程直播开发&#xff01; 这次的项目周期计划 1 个…

web入门php特性web89—104(ctfshow)

一、了解PHP语言 PHP 语法 | 菜鸟教程 PHP&#xff08;全称&#xff1a;PHP&#xff1a;Hypertext Preprocessor&#xff0c;即"PHP&#xff1a;超文本预处理器"&#xff09;是一种通用开源脚本语言。 PHP 是一门弱类型语言&#xff0c;PHP 会根据变量的值&#x…

常见DDoS攻击之零日漏洞Zero-day Attacks

目录 一、什么是零日漏洞Zero-day Attacks 二、零日漏洞是如何转化为零日攻击的 三、常见的零日攻击类型 四、为什么零日攻击很危险 五、著名的零日攻击事件 六、如何降低零日攻击的风险 七、DDoS攻击防御解决方案&#xff08;定制化&#xff09; 7.1 产品优势 7.2 产品…

Vue3学习——Node环境安装(一)

在进行 Vue 项目开发时&#xff0c;必须先安装Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。在 Vue 项目中&#xff0c;我们通常会使用到 Node.js 的 npm&#xff08;Node Package Manager&#xff09;来管理项目所需的各种库和工具&#xff0c;例如 Vi…

光伏电站气象站:提升电站效益,智能监控

随着全球对可持续发展和清洁能源需求的日益增长&#xff0c;光伏发电作为一种清洁、可再生的能源形式&#xff0c;正逐步成为能源结构转型的重要支柱。然而&#xff0c;光伏系统的发电效率直接受到气候条件的影响&#xff0c;如光照强度、温度、湿度、风速及风向等。因此&#…

基于Springboot的社区疫情防控登记系统/疫情防控管理系统

摘 要 网络技术的快速发展给各行各业带来了很大的突破&#xff0c;也给各行各业提供了一种新的管理模块&#xff0c;对于社区疫情防控登记将是又一个传统管理到智能化信息管理的改革&#xff0c;设计社区疫情防控登记系统的目的就是借助计算机让复杂的疫情用品、健康上报、每…

后端代码练习5--验证码案例

我们日常生活中&#xff0c;在进行应用程序注册或者登录的时候&#xff0c;出于安全性的考虑&#xff0c;我们都会被进行一项验证的操作&#xff0c;即通过网页给我们的图片进行一些列的操作&#xff0c;最终完成对我们身份的验证并给我们这些用户返回验证码&#xff0c;让我们…