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