给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标,用c语言
时间: 2023-08-14 11:24:13 浏览: 142
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
好的,我知道了。这是一道经典的LeetCode题目,可以使用哈希表来解决。以下是C语言的实现:
```c
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int* res = (int*)malloc(sizeof(int) * 2);
*returnSize = 2;
int hash[numsSize];
memset(hash, -1, sizeof(hash));
for(int i = 0; i < numsSize; i++){
int tmp = target - nums[i];
if(hash[tmp] != -1){
res[0] = hash[tmp];
res[1] = i;
return res;
}
hash[nums[i]] = i;
}
return res;
}
```
其中,`nums`为给定的整数数组,`numsSize`为数组大小,`target`为目标值,`returnSize`为返回的数组大小(固定为2)。函数的返回值为一个包含两个下标的整型数组,表示和为目标值的两个数在原数组中的下标。
阅读全文