第一种
int numIdenticalPairs(int* nums, int numsSize) {
int count = 0; // 初始化计数器count
int freq[101] = {0}; // 初始化大小为101的数组freq,并将元素全部设置为0
for (int i = 0; i < numsSize; i++) {
freq[nums[i]]++; // 统计数组nums中每个数字出现的次数
}
for (int i = 1; i <= 100; i++) { // 循环遍历freq数组的元素
if (freq[i] > 0) { // 如果当前数字出现次数大于0
count += freq[i] * (freq[i] - 1) / 2; // 将当前数字的好数对数量累加到count中
}
}
return count; // 返回好数对的数量
}
第二种
int numIdenticalPairs(int* nums, int numsSize) {
int i, count = 0; // 初始化计数器count
int freq[101] = {0}; // 初始化大小为101的数组freq,并将元素全部设置为0
for(i = 0; i < numsSize; i++) {
count += freq[nums[i]]; // 找到当前数字在freq数组中对应的个数,并累加到count中
freq[nums[i]]++; // 将当前数字在freq数组中的个数加1
}
return count; // 返回好数对的数量
}