LeeCode两数之和C语言
时间: 2024-09-16 18:02:04 浏览: 71
LeeCode是一个在线编程练习平台,提供了一系列算法题目帮助用户提升编程能力,其中“两数之和”(Two Sum)是LeetCode经典的一道题。这道题目的目标是在给定整数数组 `nums` 和一个目标值 `target` 中,找出数组中两个数相加等于 `target` 的索引。
C语言解答这个问题的一个简单思路是使用哈希表(Hash Table)。以下是C语言版本的基本解法:
```c
#include <stdio.h>
#include <stdbool.h>
bool twoSum(int* nums, int numsSize, int target) {
// 创建一个空哈希表
int hash[10000]; // 假设数组元素范围在0-9999之间
for (int i = 0; i < numsSize; i++) {
if (hash[target - nums[i]] != 0) { // 如果目标值减去当前值已存在哈希表中
return true; // 返回true,找到两数之和
}
hash[nums[i]] = i; // 否则将当前值及其索引存入哈希表
}
return false; // 没有找到符合条件的两数之和,返回false
}
int main() {
int nums[] = {2, 7, 11, 15};
int target = 9;
int numsSize = sizeof(nums) / sizeof(nums[0]);
if (twoSum(nums, numsSize, target)) {
printf("找到了两数之和!\n");
} else {
printf("未找到两数之和。\n");
}
return 0;
}
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)