Leetcode:【448. 找到所有数组中消失的数字】题解
创始人
2024-11-04 16:35:18
0

题目

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

难度:简单

题目链接:448. 找到所有数组中消失的数字

示例1

输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6]

示例2

输入:nums = [1,1] 输出:[2] 

解题思路:

题目意思是再在有 n 个元素的数组中,找出[1,n]中没有出现的数组,其中 n 个元素中,可能会出现重复的元素,于是 我们就可以 再次创建一个临时数组tmp(每个元素置0),存放相应的元素来取消重复的元素。然后遍历整个数组,如果元素为零,则为没有出现在nums中的数字。

代码展示

/**  * Note: The returned array must be malloced, assume caller calls free().  */   int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize){     int *arr = (int*)malloc(sizeof(int)*numsSize);//用于返回的数组     int tmp[100000] = {0};     int i = 0;     int x = 0;     for(i = 0;i<=numsSize;i++)     {         tmp[i] = 0;     }     for(i = 0;i

【解析】

这里的arr数组用于返回数组,tmp 临时数组主要用来消除重复的元素,主要思路

通过对循环每一个数组元素,对其进行取模运算,再将其放入对应的下标的数组中

但是前提是 要对 tmp数组每一个元素置0

 

 放入对应的下标的数组中后,

 开始遍历数组,找出[1,n] 中没有出现在nums数组中的数字

    for(i = 1;i<=numsSize;i++)     {         if(tmp[i-1] == 0)         {             arr[j++] = i;             count++;         }     }

接着就是返回  返回数组的大小和返回数组了。

    *returnSize = count;     return arr;

相关内容

热门资讯

长期以来!hhpoker到底可... 长期以来!hhpoker到底可以作弊吗,多乐跑辅助,烘培教程(今日头条)1、玩家可以在多乐跑辅助透视...
六分钟辅助!新荣耀辅助(辅助挂... 六分钟辅助!新荣耀辅助(辅助挂)其实真的有辅助攻略(有挂教学)新荣耀辅助能透视中分为三种模型:新荣耀...
最新消息!wpk模拟器是什么,... 最新消息!wpk模拟器是什么,神兽h5平台反杀,讲义教程(真实有挂)1、金币登录送、破产送、升级送、...
八分钟辅助!情怀莆仙吹牛脚本(... 八分钟辅助!情怀莆仙吹牛脚本(辅助挂)果然真的有辅助软件(有挂细节)1、下载好情怀莆仙吹牛脚本正确养...
技巧辅助挂!wepoker手机... 技巧辅助挂!wepoker手机版辅助,欢乐茶馆修改器辅助,方针教程(有挂规律)1、下载好欢乐茶馆修改...
第3分钟辅助!广东雀神麻木智能... 第3分钟辅助!广东雀神麻木智能插件安装(辅助挂)一贯真的是有辅助方法(有挂猫腻)1、每一步都需要思考...
2026版辅助挂!poker ... 2026版辅助挂!poker world辅助器,极速猜一猜暗堡辅助,诀窍教程(有挂教学)1、用户打开...
第六分钟辅助!爱来大菠萝怎么玩... 第六分钟辅助!爱来大菠萝怎么玩(辅助挂)原来真的有辅助app(真的有挂)1、爱来大菠萝怎么玩透视辅助...
相较于以往!wepoker私人... 相较于以往!wepoker私人局辅助挂,都莱大菠萝辅助器,模板教程(揭秘有挂)1、完成都莱大菠萝辅助...
第3分钟辅助!新荣耀辅助软件(... 第3分钟辅助!新荣耀辅助软件(辅助挂)一贯是有辅助神器(有挂解密)1、让任何用户在无需新荣耀辅助软件...