在数组中找出和为目标值两个整数 用c语言实现
时间: 2023-05-27 07:01:05 浏览: 95
数组应用举例求出十个数中的最大数-C语言数组教学
以下是一种基于暴力枚举的解法,时间复杂度为O(n^2):
```
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int* res = (int*)malloc(sizeof(int) * 2);
*returnSize = 2;
for(int i = 0; i < numsSize; i++){
for(int j = i + 1; j < numsSize; j++){
if(nums[i] + nums[j] == target){
res[0] = i;
res[1] = j;
return res;
}
}
}
return NULL;
}
```
首先,我们遍历每个数组元素,以每个元素为基准,再一次遍历整个数组,查找是否有另一个元素的值与当前元素值之和等于目标值。如果有,即可得到这两个数的下标,返回结果即可。
需要注意的是,在返回结果前,需要动态分配一个两个元素的数组来存放结果,同时通过returnSize参数返回结果数组的长度(即2)。如果找不到满足条件的数,则返回NULL。
阅读全文