首页 > 其他分享 >【C语言刷力扣】2206.将数组划分成相等数对

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

时间:2024-10-14 20:48:48浏览次数:9  
标签:cnt 2206 int pEntry 数对 C语言 hh hashEntry NULL

题目:

解题思路:

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

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;
}

标签:cnt,2206,int,pEntry,数对,C语言,hh,hashEntry,NULL
From: https://blog.csdn.net/2301_76779875/article/details/142928527

相关文章

  • 题解:P11063 【MX-X4-T3】「Jason-1」数对变换
    ProblemLink【MX-X4-T3】「Jason-1」数对变换题外话场上把贪心注重在一个奇怪地方了,导致交的时候已经有\(9\)个人\(\textcolor{green}{AC}\)了(哭)。题意简述对于数对\((x,y)\),你可以执行以下两种变换:类型1:取\(1\lek\lex\),令\((x,y)\gets(\lfloor\frac{x}{k}......
  • 关于我、重生到500年前凭借C语言改变世界科技vlog.4
    文章目录猜数字游戏专题1.随机数生成1.1rand1.2srand1.3time1.4随机数的范围2.猜数字游戏的实现希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!猜数字游戏专题掌握了前面学习的vlog的知识,尤其是分支与循环,我们可以写一个经典有趣的游戏:猜数......
  • C语言-用指针遍历二维数组
    一、1.用一级指针遍历二维数组7#include<stdio.h>89intmain(intargc,char*argv[])10{11inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};12int*p;13p=*a;14inti;15for(i=0;i<12;i++){16if(i!=0&&i%4==0)17......
  • C语言实现将一个输入的十进制数转换为二进制输出
    一、意义  由于计算机是由一系列电子元件组成的,这些元件只能处理两种状态:开和关。这两种状态可以用二进制表示,其中0代表关闭状态,1代表开启状态。因此,计算机只能存储和处理二进制数。二、原理方法除二取余法是一种将十进制数转换为二进制数的方法。其原理如下:将待转换的......
  • C语言学习3
    二分法查找    二分法查找,也称为折半查找,是一种在有序数组中查找特定元素的高效算法。该算法的基本思想是将数组分成两半,比较中间元素与目标值的大小,然后选择一半继续查找,直到找到目标值或确定目标值不存在。步骤确定数组的左右边界索引,通常左边界为0,右边界为数组......
  • 初始C语言
    目录引语计算机语言的发展一.c语言的定义第一个c语言程序二.数据类型1.数据类型大小计算机单位换算......
  • Wx64ST:一款轻松可修改的C语言Shellcode模板
    原创Alpha_h4ckFreeBuf关于windows_x64_shellcode_templatewindows_x64_shellcode_template简称为Wx64ST,它是一款功能强大的Shellcode模板,该模板基于C语言编写,其简单、可扩展和易于修改等特性可以帮助广大安全研究人员轻松开发适用于Windowsx64的Shellcode。值得一提的是,......
  • C语言——指针全解
    目录一、指针变量  二、指针和指针类型        1、指针类型        2、指针变量大小 三、指针类型的意义        1、解引用         2、指针+-整数         3、void*指针类型 四、野指针 五、指针的运算     ......
  • C语言——自定义类型
    目录一、结构体        1、结构体的定义与声明        2、结构体变量的定义和初始化        3、结构体的自引用         4、结构体的内存对齐         5、为什么要结构体的内存对齐                1、性能......
  • (C语言)算法数据结构
    王道数据结构以及本人上课的笔记             ......