其他分享
首页 > 其他分享> > LeetCode 448. 找到所有数组中消失的数字-C语言

LeetCode 448. 找到所有数组中消失的数字-C语言

作者:互联网

LeetCode 448. 找到所有数组中消失的数字-C语言

题目描述
在这里插入图片描述

解题思路
我们可以用一个哈希表记录数组 nums 中的数字,由于数字范围均在 [1,n]中,记录数字后我们再利用哈希表检查 [1,n]中的每一个数是否出现,从而找到缺失的数字。

代码

int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize){
    for (int i = 0; i < numsSize; i++) {
        int x = (nums[i] - 1) % numsSize;
        nums[x] += numsSize;
    }
    int* ret = malloc(sizeof(int) * numsSize);
    *returnSize = 0;
    for (int i = 0; i < numsSize; i++) {
        if (nums[i] <= numsSize) {
            ret[(*returnSize)++] = i + 1;
        }
    }
    return ret;
}

在这里插入图片描述

标签:numsSize,448,数字,nums,int,ret,C语言,++,LeetCode
来源: https://blog.csdn.net/qq_45401555/article/details/113818956