- 编译环境:
- ubuntu 16.04
- gcc-5.4.0
- #include
- #include
- /*
- 给定一个整数数组 nums 和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。
- 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
- 你可以按任意顺序返回答案。
- 输入:nums = [2,7,11,15], target = 9
- 输出:[0,1]
- 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
- 来源:力扣(LeetCode)
- 链接:https://leetcode.cn/problems/two-sum
- 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
- */
-
- int *twosum(int *nums, int numSize, int target, int* returnSize)
- {
- int i, j;
- int *ret = ⌖
- for (i = 0; i < numSize; i++) {
- for (j = i; j < numSize; j++) {
- if (target == (nums[i] + nums[j])) {
- returnSize[0] = i;
- returnSize[1] = j;
- return ret;
- }
- }
- }
- if (i == j) {
- returnSize[0] = -1;
- returnSize[1] = -1;
- printf("No Match for the target\n");
- }
- return ret;
- }
-
- int main(int argc, char *argv[])
- {
- int nums[] = {2,7,11,15};
- int returnSize[2] = {0};
- int *ret = twosum(nums, sizeof(nums), 18, returnSize);
- printf("target: %d, return size: [%d, %d]\n", *ret, returnSize[0], returnSize[1]);
- return 0;
- }