返回两个求和等于给定值的数组下标--算法练习

来源:互联网 发布:js document 创建标签 编辑:程序博客网 时间:2024/06/06 02:24

题目:给定一个整数数组,返回两个数组元素的下标,使它们相加得到一个特定值。

提示:您可以假设每个输入都只有一个答案。

例子:

假设 nums = [2, 7, 11, 15], target = 9, 
因为 nums[0] + nums[1] = 2 + 7 = 9,
所以返回为:return [0, 1].

代码实现
 /** * Note: The returned array must be malloced, assume caller calls free(). */int* twoSum(int* nums, int numsSize, int target) {    int i,j;    printf("the numbersize is %d\n",numsSize);    int* array=malloc(sizeof(int)*2);    for(i=0;i<numsSize;i++)    {        for(j=i+1;j<numsSize;j++)        {            if(target==(*(nums+i)+*(nums+j)))            {                printf("i is %d\n",i);                *array=i;                *(array+1)=j;                printf("the first number is %d",*array);                return array;                }        }    }    return 0;}
阅读全文
1 0
原创粉丝点击