给你一个整数数组
nums。如果一组数字(i,j)满足nums[i]==nums[j]且i<j,就可以认为这是一组 好数对 。返回好数对的数目。
输入: nums = [1,2,3,1,1,3]
输出: 4
解释: 有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始
第一种解法
func numIdenticalPairs(nums []int) int {
idx := map[int]int{}
var res int
for _, num := range nums {
if _, ok := idx[num]; ok {
res += idx[num]
}
idx[num]++
}
return res
}