Leetcode:Two Sum

今天逛leetcode,遇到一道题,本以为很简单的,结果费了很大劲才做出来。

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,j;
        int *A=(int*)malloc(2*sizeof(int));
        A[0]=0;
        A[1]=0;

        for(i=0;i<numsSize-1;i++)
    {
        for(j=i+1;j<numsSize;j++)
        {
            if(nums[i]+nums[j]==target)
            {
                A[0]=i;
                A[1]=j;
                return A;
            }
        }
    }
    return A;
}

 

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.