算法学习笔记(1)-leetcode-两数之和-C语言

两数之和

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍

### 解题思路

直接用两个for循环,遍历数组来判断

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

用来给result分配两个内存空间

然后就直接双重for循环

如果找到两个数,就将下标值直接赋值给数组result

返回即可

ps:本人是个小白,对于算法更是一窍不通,本文的代码是来自于leetcode的

Jinyang Ding编写的,不是本人自己写的,我只是写进博客当学习笔记

### 代码

int *twoSum(int* nums, int numsSize, int target, int* returnSize){

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

    for (int i = 0; i < numsSize - 1; i++)

    {

        for (int j = i + 1; j < numsSize; j++)

        {

            if (nums[i] + nums[j] == target){

                result[0] = i;

                result[1] = j;

                *returnSize =2;

                return result;

            }

        }

    }

return result;

 

}

 

 



 

```

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章