【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;
}
相关推荐
thusloop19 小时前
零门槛接入 GPT-6-astra 与 claude-opus-5-5,三大场景实战指南
python·gpt·算法·agent·claude·codex
瓦瓦gogo19 小时前
学回溯算法时,我先弄明白了怎么“退回来”
算法
Lzg_na19 小时前
堆和堆排序
算法
TK泰妞20 小时前
TikTok 带货视频如何做多语言本地化?从翻译脚本到重做场景的实用方法
算法·音视频
房开民20 小时前
DDPM 完整原理 + 全套公式串联
算法
lunar_coder20 小时前
哈希扩展 -- 位图思想
c++·算法·哈希算法
秋天的怀念_David20 小时前
听故事学语言 · 数据结构篇 · 序章一 算法之问
数据结构·程序人生·算法
沐晓时光20 小时前
C语言入门,深入理解指针(6)
c语言·开发语言
LG.YDX20 小时前
基于中心的3D目标检测和探索追踪-笔记
笔记·算法·目标检测
民乐团扒谱机20 小时前
【读论文】音色在微分音程记忆中的作用
人工智能·深度学习·算法