目前想到的办法是暴力枚举,有什么更好的办法请多指教。。。。代码如下:
让数组第一个元素和后面的元素相加判断是否相等,让数组第二个元素与后面的元素相加判断是否相等,以此类推
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
int*ptr=nums;
int i=0;
int count=0;
for(int j=0;j<numsSize;j++)
{
i=1;
for(int k=0;k<numsSize-1-j;k++)
{
if(*ptr+*(ptr+i)==target)
{
int *ret=(int*)malloc(sizeof(int)*2);
ret[0]=count;
ret[1]=count+i;
*returnSize = 2;
return ret;
}
i++;
}
ptr++;
count++;
}
return 0;
}