2018年2月4日 星期日

[448] Find All Numbers Disappeared in an Array


找出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;
}

沒有留言:

張貼留言