领扣之两数之和

2018-11-20  本文已影响0人  拉普不再拉丝

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]

暴力解法:采用C语言编程,采用两个循环,判断数组中两个数是否等于目标值。具体如下:

/** Note: The returned array must be malloced, assume caller calls free().*/

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

    int i,j;

    int *a;

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

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

        int flag = 0;

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

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

                a[0] = i;

                a[1] = j;

                flag = 1;

                break;

            }

        }

        if (flag == 1)

            break;

    }

    return a;

}

遇到问题,关于malloc的使用。

上一篇 下一篇

猜你喜欢

热点阅读