Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
这道题作为一道easy级别的题,很适合拿来做开始,题意比较明显,从数组中找两个数相加等于目标数,然后返回你找出的那两个数的下标就可以了,注意要给数组动态分配内存,要不然leetcode会报错。。下面是AC的代码
int* twoSum(const int* nums, int numsSize,int target){
int *result;
result = (int *)malloc(sizeof(int)*2);
int i = 0,j=0;
for(;i<numsSize-1;i++){
for (j=i+1;j<numsSize;j++){
if (nums[i] + nums[j] == target){
result[0] = i;
result[1] = j;
return result;
}
}
}
return NULL;
}