admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:js正则提取数字)

leetcode c语言版解答

LeetCode是面向程序员的一个在线编程平台,提供了丰富的编程

题目,以供开发者练习和提高自己的算法和数据结构能力。本文将用

简体中文介绍一些常见的LeetCode题目,并提供相应的C语言解答。

1.两数之和(Two Sum)

题目描述:给定一个整数数组nums和一个目标值target,在数组

中找出和为目标值的两个整数,并返回这两个整数的索引。

解题思路:使用哈希表来存储每个元素的值与索引,对于每一个

元素,通过target异或当前元素的值得到另一个元素,然后在哈希表

中查找是否存在这个元素。

解答代码:

```c

int* twoSum(int* nums, int numsSize, int target, int*

returnSize) {

int* res = (int*)malloc(sizeof(int) * 2);

*returnSize = 2;

if (nums == NULL || numsSize < 2) {

return res;

}

int HashMap[10000] = {0};

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

int rest = target - nums[i];

if (HashMap[rest] > 0) {

res[0] = HashMap[rest] - 1;

res[1] = i;

break;

} else {

HashMap[nums[i]] = i + 1;

}


本文标签: 提供 元素 整数