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].程序代码
/** * Note: The returned array must be malloced, assume caller calls free(). */int* twoSum(int* nums, int numsSize, int target) { int i=0,j=0; int a=-1,b=-1; int* ans; ans = (int*)malloc(sizeof(int)*2); for(i=0;i<numsSize-1;i++) { for(j=i+1;j<numsSize;j++) { if((nums[i]+nums[j])==target) { a = i; b = j; break; } } if(a>=0&&b>=0) break; } *ans = a; *(ans+1) = b; return ans;}新闻热点
疑难解答