admin 管理员组

文章数量: 887021


2024年1月25日发(作者:c语言推荐软件)

c语言 指针 有趣编程题

以下是一个有趣的C语言指针编程题:

题目描述:

给定一个整数数组和一个目标值,找出数组中和为目标值的那两个整数,并返回他们的数组下标。

示例:

输入: [2, 7, 11, 15], 9

输出: [0, 1]

解释: 因为 2 + 7 = 9

输入: [2, 4, 6, 8, 10], 5

输出: [1, 3]

解释: 因为 4 + 6 = 10

解题思路:

这道题可以使用哈希表来解决。首先遍历数组,将每个元素作为键,在哈希表中记录下该键出现的下标。然后再次遍历数组,对于每个元素,计算目标值与该元素的差值,并在哈希表中查找该差值对应的下标。如果找到了,则说明找到了两个数之和等于目标值的两个数,返回它们的下标即可。

C语言实现:

```c

include <>

include <>

include

using namespace std;

vector twoSum(vector& nums, int target) {

unordered_map hash;

vector result;

for (int i = 0; i < (); i++) {

int complement = target - nums[i];

if ((complement) != ()) {

_back(hash[complement]);

_back(i);

break;

}

hash[nums[i]] = i;

}

return result;

}

```


本文标签: 数组 目标值 下标 元素