69,380
社区成员
发帖
与我相关
我的任务
分享
int ina(int x,int* nums,int m)
{
for(int i=0;i<m;i++)
{
if(x==nums[i])
return 1;
}
return 0;
}
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int *res=malloc(sizeof(int)*2);
int i,j,k=0,m=0;
for(i=0;i<numsSize;i++)
{
if(nums[i]>target) break;
for(j=i+1;j<numsSize-1;i++)
{
if(nums[j]>target) break;
if(nums[i]+nums[j]==target)
{
if(!ina(i,res,m)&&!ina(j,res,m))
{
res[m]=i;
m++;
res[m]=j;
m++;
}
else
break;
}
}
}
*returnSize=m;
return res;
}