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

免费网站在哪下载赤水市建设局官方网站

免费网站在哪下载,赤水市建设局官方网站,海淀网站建设,图片网站模板下载题目描述 给你一个整数数组 nums。 如果一组数字 (i, j) 满足 nums[i] nums[j] 且 i < j&#xff0c;就可以认为这是一组 好数对。 返回 好数对 的数目。 示例 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1,1,3] 输出&#xff1a;4 解释&#xff1a; 有 4 组好…

题目描述
给你一个整数数组 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

思路与解法
这道题目要求我们找出满足 nums[i] == nums[j] 且 i < j 的所有数对。对于每个出现过的数,我们可以利用哈希表来统计它出现的次数,然后通过组合的方式计算好数对的数量。

假设某个数出现了 k 次,那么从中任选两个位置作为数对的数量就是 C(k, 2) = k * (k - 1) / 2。我们可以通过统计每个数的出现次数来逐步累加好数对的数量。

代码实现
python
复制
编辑
from collections import defaultdict
from typing import List

class Solution:
def numIdenticalPairs(self, nums: List[int]) -> int:
res = 0
cnt = defaultdict(int)

    # 遍历数组,统计每个数字出现的次数for x in nums:res += cnt[x]cnt[x] += 1return res

代码解释
哈希表 cnt:用于统计每个数字出现的次数。

累加好数对:每次遇到一个数字 x,我们增加 cnt[x],表示当前数字 x 之前已经出现了多少次。然后更新 cnt[x] 的次数。

返回结果:返回最终的好数对数量。

时间复杂度
时间复杂度为 O(n),其中 n 是数组 nums 的长度。我们遍历一次数组并进行常数时间的哈希操作。

http://www.dtcms.com/wzjs/566957.html

相关文章:

  • 分销网站建站外贸网站建设公司排名
  • 建设企业网站服务开放平台设计方案
  • 软件分享网站2008r2网站建设
  • 企业网站建设实训微信公众号编辑教程
  • 网站收录 作用大学生创新创业大赛获奖名单
  • 网站建设岗位主要做什么网站的信息管理建设的必要性
  • 网站制作公司资质晋中推广型网站开发
  • 国内ui设计网站长春cms建站
  • ps怎样做网站详情页小程序首页模板
  • 外贸做企业什么网站办办网官网
  • 电子商务网站建设与运营的试题济南外贸网站制作
  • 销售网站建设实验报告360网址大全电脑版
  • 建站需求电子商务网站的网络营销策略分析
  • 贝壳企业网站管理系统搜索引擎 网站地图
  • 网站做强制解析建筑设计公司名字大全
  • 为什么建设长虹网站seo信息编辑招聘
  • 做网站需要多少台服务器网站重要性
  • 做网站到八方资源网怎么样网络设计工资多少
  • 做网站一年赚80亿网站先做前端还是后端
  • 传奇网站模板psd每天一篇好文章网站
  • 在线做logo印章网站wordpress站点语言
  • 旅游网站建设属于什么以及学科传统旅行社如何建设网站
  • 不用代码做交互式网站制作微信商城网站开发
  • 影响网站排名重要因素做网站建设最好的公司是
  • 网站首页三张海报做多大淘宝推广引流方法有哪些
  • 毕设做网站心得体验高端建材项目
  • 服务器上网站打不开企业网站建设模版
  • 如何搭建自己得网站微信公众号开发步骤
  • 网站备案提交作文网站大全
  • 电子商务平台经营者制定平台服务协议和交易规则时连云港关键字优化资讯