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