1. 两数之和(原题网址)
//题目描述
//1. 两数之和
//给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。
//你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
//你可以按任意顺序返回答案。
#include <stdio.h>
int *twoSum(int * nums,int numSize,int target);
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
int nums[5]={10,20,30,40,50};
int target=600;
int *ip=NULL;
ip = twoSum(nums, sizeof(nums)/sizeof(int), target);
if(ip[0])
printf("%d,%d+%d=%d\n",ip[0],nums[ip[1]],nums[ip[2]],target);
else
printf("%d,%d,%d\n",ip[0],ip[1],ip[2]);
return 0;
}
int *twoSum(int * nums,int numSize,int target){
static int iInd[3]={0,0,0};
for (int i=0;i<numSize;i++){
for (int j =i;j<numSize;j++){
if (target==nums[i]+nums[j]){
iInd[0]=1;
iInd[1]=i;
iInd[2]=j;
return iInd;
}
}
}
return iInd;
}