/** the first version
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target) {
int i,j;
int *pos;
int flag = 0;
pos = (int *) malloc(2*sizeof(int));
if(pos == NULL)
{
return NULL;
}
pos[0] = 0;
pos[1] = 0;
for (i = 0; (i < numsSize) && (flag == 0); ++i)
{
for(j = i + 1; (j < numsSize) && (flag == 0); ++ j)
{
if(nums[i] + nums[j] == target)
{
pos[0] = i;
pos[1] = j;
flag = 1;
}
}
}
return pos;
the test result of the first version