twoSum()
// Note: The returned array must be malloced, assume caller calls free().
#include <stdio.h>
#include <stdlib.h> //包含此行以使用 malloc()
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
int i = 0;
int j = 0;
int* result=(int*)malloc(sizeof(int)*2);
for(i;i<numsSize;i++){
for(j=i+1;j<numsSize;j++){
if(nums[i]+nums[j]==target){
result[0]=i;
result[1]=j;
*returnSize=2;
return result;
}
}
}
return result;
}
int main(){
int nums[]={10,2,3,4,5,6,7,8,9,10};
int numsSize=sizeof(nums)/sizeof(nums[0]);
int i;
int target = 11;
int returnSize;
int* result=twoSum(nums,numsSize,target,&returnSize);
if(result!=NULL&&returnSize==2){
printf("[%d, %d]\n",result[0],result[1]);
free(result);
}
else{
printf("no find\n");
free(result);
}
return 0;
}