【C语言刷力扣】2206.将数组划分成相等数对

题目:

解题思路:

题目中要求元素成数对出现,即每个元素出现偶数次。用哈希表存放每个数出现的次数,再循环查看每个数的次数是否位偶数。

复制代码
typedef struct {
    int key;
    int count;
    UT_hash_handle hh;
} hashEntry;

bool divideArray(int* nums, int numsSize) {
    hashEntry * cnt = NULL;
    for (int i = 0; i < numsSize; ++i) {
        hashEntry * pEntry = NULL;
        HASH_FIND(hh, cnt, &nums[i], sizeof(int), pEntry);
        if (pEntry == NULL) {
            pEntry = (hashEntry*)malloc(sizeof(hashEntry));
            pEntry -> key = nums[i];
            pEntry -> count = 1;
            HASH_ADD(hh, cnt, key,sizeof(int), pEntry);
        }
        else pEntry -> count++;
    }

    hashEntry *curr = NULL, *next = NULL;
    HASH_ITER(hh, cnt, curr, next)
    {
        if (curr->count % 2 != 0) return false;
    }

    return true;
}
相关推荐
土司大王7 小时前
LeetCode hot100——全排列
java·算法·leetcode
AI+程序员在路上7 小时前
Rv1126b与手机(SPP蓝牙串口APP)蓝牙通信流程
linux·c语言·智能手机
尾善爱看海7 小时前
前端面试算法手撕全解(高频真题+标准答案)
算法·js
203号居民8 小时前
LeetCode hot 100 — 138. 随机链表的复制
算法·leetcode·链表
凌晨1688 小时前
OpenCV(十一)人脸识别三大算法LBPH、EigenFace、FisherFace
人工智能·opencv·算法
明月_清风8 小时前
分治、贪心、回溯、动态规划:四种经典算法思想
后端·算法
Thomas21438 小时前
spark sort shuffer 和 hash shuffer 图解对比
算法·哈希算法
AbandonForce9 小时前
简谈线程池
开发语言·c++·算法
智购科技智能售货柜9 小时前
2026自动售货机商品掉落声学计数方案:从麦克风到频谱识别的工程实践~YH
人工智能·算法
土司大王9 小时前
LeetCode hot100——实现 Trie (前缀树)
java·算法·leetcode