第一题的题解为
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int i,j;
int *array = NULL;
for(i = 0; i < numsSize; i++){
for(j = i + 1; j < numsSize; j++){
if(nums[i] + nums[j] == target){
array = calloc(2,sizeof(int));
printf("[%d,%d]", i, j);
array[0] = i;
array[1] = j;
//估计是外面调用了一下需要这个returnsize来确认一下返回的元素是多少吧?
*returnSize = 2;
return array;
}
}
}
return array;
}
需要注意的点是
1、所调用函数的四个参数应该都是有用的。
2、我之前通不过就是因为第四个returnsize没有用上,猜测是需要使用这个returnSize来确认返回的元素的个数是多少吧?
该博客介绍了一个C语言实现找到数组中两数之和等于特定目标值的解决方案。函数`twoSum`接收一个整数数组`nums`、数组大小`numsSize`、目标值`target`和一个返回元素个数指针`returnSize`。通过双层循环遍历数组,当找到匹配的数对时,使用calloc分配内存并返回下标,同时设置`returnSize`为2。若未找到匹配数对,则返回空指针。注意,正确使用`returnSize`参数对于函数调用者了解返回结果至关重要。
2512

被折叠的 条评论
为什么被折叠?



