Tags:Array and HashTable
我的解法:
#include<stdio.h>
#include<math.h>
int main(void){
int num[4];
int target;
int i,j;
printf("please input 4 numbers:\n");
for(i=0;i<4;i++)
{
scanf("%d",&num[i]);
}
printf("please input the target number:\n");
scanf("%d",&target);
for(i=0;i<4;i++)
{
for(j=i+1;j<4;j++)
{
if((num[i]+num[j])==target)
printf("%d %d\n",i,j);
}
}
return 0;
}
我在leet code的解法:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target) {
int *results=malloc(numsSize*sizeof(int));
int i,j;
for(i=0;i<numsSize;i++){
for(j=i+1;j<numsSize;j++){
if((nums[i]+nums[j])==target){
results[0]=i;
results[1]=j;
printf("The result index is%d and %d.\n",results[0],results[1]);
}
}
}
return results;
}