1. 问题描述:
给你一个整数数组 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
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100
2. 思路分析:
题目其实还是比较简单的,因为考虑到数据量比较小,所以可以使用暴力破解即可,依次检查两个元素是否相等计数即可解决
3. 代码如下:
from typing import Listclass Solution:def numIdenticalPairs(self, nums: List[int]) -> int:# 这道题目暴力破解就也可以解决依次检查数组中的两个元素是否相等即可(数据量小是可以通过的)res = 0for i in range(len(nums) - 1):for j in range(i + 1, len(nums)):if nums[i] == nums[j]: res += 1return res