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

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

相关文章:

  • uvm transaction
  • 排查使用RestTemplate远程调用,@RequestBody注解接收不到实体类
  • python面试
  • 【天梯赛】L2-004 这是二叉搜索树吗(经典问题C++)
  • 笔试专题(四)
  • Ollama及HuggingFace路径环境变量设置
  • 监控易一体化运维:监控易机房管理,打造高效智能机房
  • 51c嵌入式~三极管~合集1
  • 【Python3教程】Python3基础篇之Lambda(匿名函数)
  • AI赋能,防御无界:群联云防护如何颠覆传统DDoS防御格局?
  • 群晖监控套件通过ONVIF协议添加海康摄像头
  • 智慧指路机器人是否支持公共广播功能?
  • MUX VLAN -- PVLAN
  • 【问题解决】Linux安装conda修改~/.bashrc配置文件后,root 用户下显示 -bash-4.2#
  • RCE(自增、取反、异或)
  • Docker 设置国内镜像源
  • C++11--(1)
  • 书籍学习|基于Java+vue的书籍学习平台(源码+数据库+文档)
  • 项目复盘:websocket不受跨域限制的原理
  • MySQL数据库和表的操作
  • 网站架构设计师简历/河北seo网络推广
  • 免费做头像网站有哪些/新闻头条最新消息今天发布
  • 长沙多用户商城网站建设/大搜推广
  • 114物流网站怎么做/百度怎么发布广告
  • 广州番禺疫情/百度seo按天计费
  • 开发一个网站的步骤/如何在网上做销售推广