当前位置: 首页 > article >正文

LeetCode349两个数组的交集

在这里插入图片描述
思路:
这个题目是查找交集,考虑用哈希数组,c语言用数组建立哈希表来解题,题目限定了数组长度在1000以内,那么可以设定一个result数组用于存储交集
1.我们需要将nums1映射到哈希表中
2.遍历nums2查询哈希表中是否存在该元素,若存在,则将该元素写进result中,并将哈希表对应值改为0,避免重复录入
3.输出result

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)
{
    //1.将nums1映射到哈希表中
    int hash[1001]={0};
    int resultsize=nums1Size>nums2Size?nums2Size:nums1Size;//设置结果数组长度
    int *result=(int *)malloc(resultsize*sizeof(int));//初始化结果数组
    int k=0;
    for(int i=0;i<nums1Size;i++)
    {
        //将hash数组中下标为nums1元素值的元素值记录为1,用于记录nums1的数存在情况
        hash[nums1[i]]=1;
    }
    //2.nums2遍历查询是否出现
    for(int i=0;i<nums2Size;i++)
    {
        //如果哈希数组中存在nums2中的元素,则++
        if(hash[nums2[i]]>0)
        {
            result[k++]=nums2[i];
            //将元素加入结果集合后将哈希数组对应位置置为0防止重复添加
            hash[nums2[i]]=0;
        }
    }
    //设置返回数组的大小为k,即有效值
    *returnSize=k;
    return result;
}

http://www.kler.cn/a/614126.html

相关文章:

  • 振弦采集读数仪 智能型 支持振弦、温度、电压、电流测量,无线传输 自动化操作 适用地质灾害与土木工程监测
  • HCIA-Access V2.5_15_1_ONU模板类型介绍
  • vscode_拼写关闭
  • Android OTA升级中SettingsProvider数据库升级的深度解析与完美解决方案
  • Google 停止开源 Android?
  • Docker 环境安装步骤
  • android音效算法集成框架(3)
  • 极速全场景 MPP数据库starrocks介绍
  • scss基础用法
  • 国内GitHub镜像源全解析:加速访问与替代方案指南
  • 【6】VS Code 新建上位机项目---项目分层
  • CES Asia 2025:科技展会体验再进化
  • Opencv 图像读取与保存问题
  • # 动态规划解决单词拆分问题详解
  • Compose笔记(十三)--事件总线
  • 【企业网络安全防护】一体化管控平台:企业办公效率与安全兼得!
  • 【工具使用-编译器】VScode(Ubuntu)使用
  • 前端一些你不了解的知识点?
  • 【DeepSeek大语言模型】基于DeepSeek和Python的高光谱遥感从数据到智能决策全流程实现与城市、植被、水体、地质、土壤五维一体应用
  • Pyglet、Panda3D 和 Pygame对比