找出array裡少掉的數字, 回傳它的index
一開始的想法好像會用掉很多memory
看完別人的解法就覺得自己是凡人, 哈哈哈
Find All Numbers Disappeared in an Array
/**
* Return an array of size *returnSize.
* Note: The returned array must be malloced, assume caller calls free().
*/
int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize) {
int* ret = malloc(sizeof(int)*(numsSize+1));
int i;
for (i=0;i<numsSize;i++)
{
ret[nums[i]] = 1;
}
for(i=1;i<=numsSize;i++)
{
//printf("%d: %d\n",i, ret[i]);
if(ret[i]!=1)
{
ret[*returnSize] = i;
*returnSize += 1;
}
}
return ret;
}
沒有留言:
張貼留言