您的位置:首页 > 其它

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

2017-10-20 20:28 302 查看

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

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

[b]例子:[/b]

假设 nums = [2, 7, 11, 15], target = 9,

因为 nums[0] + nums[1] = 2 + 7 = 9,

所以返回为:return [0, 1].


[b]代码实现[/b]

/**
* 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐