LeetCode找到所有数组中消失的数字
需求描述:给你一个含n个整数的数组nums,其中nums〔i〕在区间〔1,n〕内,请找出所有在〔1,n〕范围内但没有出现在nums中的数字,并以数组的形式返回结果。
提示:
1、nnums。length
2、1n10的5次方
3、1nums〔i〕n
实现方法一:时间复杂度O(2n)intfindDisappearedNumbers(intnums,intnumsSize,intreturnSize){for(inti0;inumsSize;i){intindex(nums〔i〕1)numsSize;nums〔index〕numsSize;}intretmalloc(sizeof(int)numsSize);returnSize0;for(inti0;inumsSize;i){if(nums〔i〕numsSize){ret〔(returnSize)〕i1;}}returnret;}
实现方法二:时间复杂度O(nn)intfindDisappearedNumbers(intnums,intnumsSize,intreturnSize){intretmalloc(sizeof(int)numsSize);returnSize0;for(intj1;jnumsSize;j){booltagfalse;for(inti0;inumsSize;i){if(!(nums〔i〕j)){tagtrue;break;}}if(!tag)ret〔(returnSize)〕j;}returnret;}