欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode1两数之和C语言暴力版

程序员文章站 2022-07-14 17:28:44
...

LeetCode1两数之和C语言暴力版

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* twoSum(int* nums, int numsSize, int target,int* returnSize){
    int* a=(int* )malloc(sizeof(int)*2);
    for(int i=0;i<numsSize-1;i++){
        for(int j=i+1;j<numsSize;j++){
            if(nums[i]+nums[j] == target) {
                a[0]=i; a[1]=j;
                *returnSize= 2;
                return a;
            }
        }
    }
    *returnSize= 0;
    return NULL;
}

第一次使用LeetCode,有点不习惯按照他给定的函数参数来写。
这里需要注意的是:
1、returnsize不是让返回的数组,而是返回数组的长度。
2、之所以returnsize以指针形式作为形参是为了在函数结束后指针依然存在,可以读取returnsize的值,如果以int型函数结束则生命周期结束。
3、a数组需要以malloc分配空间同理,否则函数结束则生命周期结束。也可采用static int *a[2]={0}的形式。