LeetCode 1 Two Sum

来源:互联网 发布:瞻博网络 五百强 编辑:程序博客网 时间:2024/06/14 00:55

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* ans = malloc(2 * sizeof *ans);    int tmp1, tmp2;    for(int i = 0;i < numsSize;i++){        tmp1 = *(nums + i);        for(int j = i + 1;j < numsSize;j++){            tmp2 = *(nums + j);            if(tmp1 + tmp2 == target){                ans[0] = i;                ans[1] = j;                break;            }        }    }    return ans;}